@@ -3,8 +3,7 @@ var TimezoneParams = require('./TimezoneParams.js');
33
44module . exports = class IPGeolocationAPI {
55
6-
7- constructor ( apiKey = "" ) {
6+ constructor ( apiKey = "" ) {
87 this . apiKey = apiKey ;
98 }
109
@@ -13,126 +12,103 @@ module.exports = class IPGeolocationAPI {
1312 }
1413
1514 getGeolocation ( params = null ) {
16- if ( params . getIps ( ) )
17- { return postRequest ( "ipgeo-bulk" , params , this . apiKey ) ;
18- } else {
19- return getRequest ( "ipgeo" , buildGeolocationUrlParams ( params , this . apiKey ) ) ;
20- }
15+ if ( params . getIps ( ) ) {
16+ return postRequest ( "ipgeo-bulk" , params , this . apiKey ) ;
17+ } else {
18+ return getRequest ( "ipgeo" , buildGeolocationUrlParams ( params , this . apiKey ) ) ;
19+ }
2120 }
2221
2322 getTimezone ( params = null ) {
24- return getRequest ( "timezone" , buildTimezoneUrlParams ( params , this . apiKey ) ) ;
23+ return getRequest ( "timezone" , buildTimezoneUrlParams ( params , this . apiKey ) ) ;
2524 }
26-
27-
2825}
2926
30-
3127function buildTimezoneUrlParams ( params = null , apiKey = "" ) {
32- var urlParams = "apiKey=" + apiKey ;
33-
34- if ( params != null ) {
35- var param = params . getIp ( ) ;
36- if ( param && param != "" ) {
37- urlParams = urlParams + "&ip=" + param ;
38- }
39-
40- param = params . getTimezone ( ) ;
41- if ( param && param != "" ) {
42- urlParams = urlParams + "&tz=" + param ;
43- }
44-
45- var latitude = params . getLatitude ( ) ;
46- var longitude = params . getLongitude ( ) ;
47- if ( latitude && latitude != 1000.0 && longitude && longitude != 1000.0 ) {
48- urlParams = urlParams + "&lat=" + latitude + "&long=" + longitude ;
49- }
50- }
51- return urlParams ;
28+ var urlParams = "apiKey=" + apiKey ;
29+
30+ if ( params != null ) {
31+ var param = params . getIp ( ) ;
32+ if ( param && param != "" ) {
33+ urlParams = urlParams + "&ip=" + param ;
34+ }
35+
36+ param = params . getTimezone ( ) ;
37+ if ( param && param != "" ) {
38+ urlParams = urlParams + "&tz=" + param ;
39+ }
40+
41+ var latitude = params . getLatitude ( ) ;
42+ var longitude = params . getLongitude ( ) ;
43+ if ( latitude && latitude != 1000.0 && longitude && longitude != 1000.0 ) {
44+ urlParams = urlParams + "&lat=" + latitude + "&long=" + longitude ;
45+ }
46+ }
47+ return urlParams ;
5248}
5349
54-
55-
5650function buildGeolocationUrlParams ( params = null , apiKey = "" ) {
57-
58- var urlParams = "apiKey=" + apiKey ;
59- if ( params != null ) {
60- var param = params . getIp ( ) ;
51+ var urlParams = "apiKey=" + apiKey ;
52+
53+ if ( params != null ) {
54+ var param = params . getIp ( ) ;
6155
62- if ( param && param != "" ) {
63- urlParams = urlParams + "&ip=" + param ;
64- }
65-
66- param = params . getFields ( ) ;
67-
68- if ( param && param != "" ) {
69- urlParams = urlParams + "&fields=" + param ;
70- }
71- }
72-
73- return urlParams ;
74- }
75-
76-
77-
78-
79-
80- function getRequest ( subUrl = "" , params = "" ) {
81-
82- var jsonData = null ;
83- var data = null ;
84-
85- var XMLHttpRequest = require ( "xmlhttprequest" ) . XMLHttpRequest ;
86- var xhr = new XMLHttpRequest ( ) ;
87- xhr . withCredentials = true ;
88- xhr . addEventListener ( "readystatechange" , function ( ) {
89-
90- if ( this . readyState === 4 ) {
91-
92- if ( this . status == 0 ) {
93- jsonData = {
94- "message" : "Internet is not connected!"
95- } ;
96- } else {
97- jsonData = JSON . parse ( this . responseText ) ;
98- }
99-
56+ if ( param && param != "" ) {
57+ urlParams = urlParams + "&ip=" + param ;
58+ }
59+ param = params . getFields ( ) ;
60+ if ( param && param != "" ) {
61+ urlParams = urlParams + "&fields=" + param ;
62+ }
63+ }
64+ return urlParams ;
10065}
101- } ) ;
102- xhr . open ( "GET" , "https://api.ipgeolocation.io/" + subUrl + "?" + params + "" , false ) ;
103- xhr . send ( data ) ;
104- return jsonData ;
10566
67+ function getRequest ( subUrl = "" , params = "" ) {
68+ var jsonData = null ;
69+ var data = null ;
70+ var XMLHttpRequest = require ( "xmlhttprequest" ) . XMLHttpRequest ;
71+ var xhr = new XMLHttpRequest ( ) ;
72+ xhr . withCredentials = true ;
73+
74+ xhr . addEventListener ( "readystatechange" , function ( ) {
75+ if ( this . readyState === 4 ) {
76+ if ( this . status === 0 ) {
77+ jsonData = {
78+ "message" : "Internet is not connected!"
79+ } ;
80+ } else {
81+ jsonData = JSON . parse ( this . responseText ) ;
82+ }
83+ }
84+ } ) ;
85+ xhr . open ( "GET" , "https://api.ipgeolocation.io/" + subUrl + "?" + params + "" , false ) ;
86+ xhr . send ( data ) ;
87+ return jsonData ;
10688}
10789
108-
109-
110-
111- function postRequest ( subUrl = "" , params = "" , apiKey = "" ) {
112-
113- var jsonData = null ;
114- var data = JSON . stringify ( {
115- "ips" : params . getIps ( )
116- } ) ;
117- var XMLHttpRequest = require ( "xmlhttprequest" ) . XMLHttpRequest ;
118- var xhr = new XMLHttpRequest ( ) ;
119- xhr . withCredentials = true ;
120- xhr . addEventListener ( "readystatechange" , function ( ) {
121- if ( this . readyState === 4 ) {
122- if ( this . status == 0 ) {
123- jsonData = {
124- "message" : "Internet is not connected!"
125- } ;
126- } else {
127- jsonData = JSON . parse ( this . responseText ) ;
128- }
90+ function postRequest ( subUrl = "" , params = "" , apiKey = "" ) {
91+ var jsonData = null ;
92+ var data = JSON . stringify ( {
93+ "ips" : params . getIps ( )
94+ } ) ;
95+ var XMLHttpRequest = require ( "xmlhttprequest" ) . XMLHttpRequest ;
96+ var xhr = new XMLHttpRequest ( ) ;
97+ xhr . withCredentials = true ;
98+
99+ xhr . addEventListener ( "readystatechange" , function ( ) {
100+ if ( this . readyState === 4 ) {
101+ if ( this . status === 0 ) {
102+ jsonData = {
103+ "message" : "Internet is not connected!"
104+ } ;
105+ } else {
106+ jsonData = JSON . parse ( this . responseText ) ;
107+ }
108+ }
109+ } ) ;
110+ xhr . open ( "POST" , "https://api.ipgeolocation.io/" + subUrl + "?apiKey=" + apiKey + "" , false ) ;
111+ xhr . setRequestHeader ( "Content-Type" , "application/json" ) ;
112+ xhr . send ( data ) ;
113+ return jsonData ;
129114}
130- } ) ;
131- xhr . open ( "POST" , "https://api.ipgeolocation.io/" + subUrl + "?apiKey=" + apiKey + "" , false ) ;
132- xhr . setRequestHeader ( "Content-Type" , "application/json" ) ;
133-
134- xhr . send ( data ) ;
135- return jsonData ;
136-
137- }
138-
0 commit comments