fix xhr race condition

This commit is contained in:
ericz 2013-02-15 10:25:09 -08:00
parent c76064301f
commit d5f72731ab
2 changed files with 13 additions and 6 deletions

View File

@ -224,14 +224,21 @@ PeerServer.prototype._initializeHTTP = function() {
var handle = function(req, res) {
var key = req.params.key;
var id = req.params.id;
if (!self._clients[key]) {
// Retry this request
res.send(202);
var client;
if (!self._clients[key] || !(client = self._clients[key][id])) {
if (req.params.retry) {
res.send(401);
} else {
// Retry this request
req.params.retry = true;
setTimeout(handle, 25, req, res);
}
return;
}
var client = self._clients[key][id];
// Auth the req
if (!client || req.params.token !== client.token) {
if (req.params.token !== client.token) {
res.send(401);
return;
} else {

View File

@ -1,6 +1,6 @@
{
"name": "peer",
"version": "0.1.3",
"version": "0.1.4",
"description": "Peer-to-peer data in browsers",
"main": "lib/server.js",
"repository": {