Comparing version 5.2.1 to 5.3.1
{ | ||
"name": "vksdk", | ||
"description": "SDK for API of vk.com", | ||
"version": "5.2.1", | ||
"version": "5.3.1", | ||
"homepage": "https://github.com/57uff3r/nodejs-vksdk", | ||
@@ -6,0 +6,0 @@ "email": "57uff3r@gmail.com", |
@@ -181,2 +181,5 @@ nodejs-vksdk | ||
# Thanks to | ||
* [Alex0007](https://github.com/Alex0007) | ||
See also vk.com [cities and counties DB](http://citieslist.ru/) |
64
sdk.js
@@ -50,2 +50,4 @@ /** | ||
this.reqLastTime = new Date(0) | ||
this.requestingNow = false | ||
} | ||
@@ -152,3 +154,12 @@ | ||
VK.prototype.waitForNextRequest = function (_cb) { | ||
var self = this; | ||
if (new Date() - this.reqLastTime > 334 && !this.requestingNow) { | ||
_cb(); | ||
} else setTimeout(function () { | ||
self.waitForNextRequest(_cb); | ||
}, 50); | ||
}; | ||
/** | ||
@@ -273,32 +284,37 @@ * =========================== Dealing with api | ||
var post_req = https.request(options, function(res) { | ||
var apiResponse = ""; | ||
res.setEncoding('utf8'); | ||
this.waitForNextRequest(function () { | ||
self.requestingNow = true; | ||
var post_req = https.request(options, function(res) { | ||
var apiResponse = ""; | ||
res.setEncoding('utf8'); | ||
res.on('data', function(chunk) { | ||
apiResponse += chunk; | ||
}); | ||
res.on('data', function(chunk) { | ||
apiResponse += chunk; | ||
}); | ||
res.on('end', function() { | ||
try { | ||
var o = JSON.parse(apiResponse); | ||
} catch(e) { | ||
return self.emit('parse-error', apiResponse); | ||
} | ||
res.on('end', function() { | ||
self.reqLastTime = new Date(); | ||
self.requestingNow = false; | ||
try { | ||
var o = JSON.parse(apiResponse); | ||
} catch(e) { | ||
return self.emit('parse-error', apiResponse); | ||
} | ||
if (responseType === 'callback' && typeof _response === 'function') { | ||
_response(o); | ||
} else { | ||
if (responseType === 'event' && !!_response) { | ||
return self.emit(_response, o); | ||
if (responseType === 'callback' && typeof _response === 'function') { | ||
_response(o); | ||
} else { | ||
if (responseType === 'event' && !!_response) { | ||
return self.emit(_response, o); | ||
} | ||
return self.emit('done:' + _method, o); | ||
} | ||
return self.emit('done:' + _method, o); | ||
} | ||
}); | ||
}).on('error', function (e) { | ||
self.emit('http-error', e); | ||
}); | ||
}).on('error', function (e) { | ||
self.emit('http-error', e); | ||
}); | ||
post_req.write(requestString); | ||
post_req.end(); | ||
post_req.write(requestString); | ||
post_req.end(); | ||
}) | ||
}; | ||
@@ -305,0 +321,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
25882
669
185