-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
115 lines (76 loc) · 2.6 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
"use strict";
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
const request = require ( 'request' );
const _ = require ( 'lodash' );
/**
* @class VeryMail
* @hideconstructor
* @classdesc Verymail offers for developers a method to connect their applications via our interactive, always live api inorder to keep control on things.
* @fileOverview email validation on demand
* @version 1.0.0
* @module VeryMail
* @param {string} VERYMAIL_KEY - environment key
* @returns {Promise} VeryMail Object
*
*/
module.exports = class VerMail {
/**
* @constructor
* @hideconstructor
* @param {string} VERYMAIL_KEY - environment key
* @param {array} CONFIG - options object for printing document
*/
constructor ( CONFIG, VERYMAIL_KEY ) {
this.mailingList = CONFIG.mailingList;
this.options = CONFIG.options || {};
this.VERYMAIL_KEY = VERYMAIL_KEY || process.env.VERYMAIL_KEY;
this.baseURL = (process.env.NODE_ENV === "development") ? "https://localhost:8080/verymail" : "https://api.gogross.com/verymail";
}
static async removeDuplicates() {
}
async verify () {
return new Promise ( async ( resolve, reject ) => {
if ( !this.VERYMAIL_KEY ) {
reject ( "Error, missing API KEY environment variable" )
} else if(this.mailingList > 100) {
reject ( "You can verify a maximum of 100 email addresses at a time" )
}else {
let mailingListWithoutDuplicates = await _.uniq(this.mailingList);
console.log("-------------------------");
console.log("-------------------------");
console.log("-------------------------");
console.log(this.baseURL);
console.log(process.env.NODE_ENV);
console.log("-------------------------");
console.log("-------------------------");
console.log("-------------------------");
let url = this.baseURL + '?key=' + this.VERYMAIL_KEY; // signup for free at docengine.gogross.com
return request ( {
url : url,
method : 'get',
headers : {},
body : {
mailingList : JSON.stringify ( mailingListWithoutDuplicates ),
options : this.options
},
json : true
}, async function ( error, response, body ) {
if ( error ) {
reject ( error )
} else {
try {
body = JSON.parse ( body );
if ( body.hasOwnProperty ( "error" ) ) {
reject ( body )
} else {
resolve ( body )
}
} catch ( e ) {
resolve ( body )
}
}
} );
}
} )
}
};