fix xhr race condition
This commit is contained in:
parent
c76064301f
commit
d5f72731ab
@ -224,14 +224,21 @@ PeerServer.prototype._initializeHTTP = function() {
|
|||||||
var handle = function(req, res) {
|
var handle = function(req, res) {
|
||||||
var key = req.params.key;
|
var key = req.params.key;
|
||||||
var id = req.params.id;
|
var id = req.params.id;
|
||||||
if (!self._clients[key]) {
|
|
||||||
|
var client;
|
||||||
|
if (!self._clients[key] || !(client = self._clients[key][id])) {
|
||||||
|
if (req.params.retry) {
|
||||||
|
res.send(401);
|
||||||
|
} else {
|
||||||
// Retry this request
|
// Retry this request
|
||||||
res.send(202);
|
req.params.retry = true;
|
||||||
|
setTimeout(handle, 25, req, res);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var client = self._clients[key][id];
|
|
||||||
// Auth the req
|
// Auth the req
|
||||||
if (!client || req.params.token !== client.token) {
|
if (req.params.token !== client.token) {
|
||||||
res.send(401);
|
res.send(401);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "peer",
|
"name": "peer",
|
||||||
"version": "0.1.3",
|
"version": "0.1.4",
|
||||||
"description": "Peer-to-peer data in browsers",
|
"description": "Peer-to-peer data in browsers",
|
||||||
"main": "lib/server.js",
|
"main": "lib/server.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user