mirror of https://github.com/BTCPrivate/copay.git
paypro: fix server hooking for self-signed paypro testing.
This commit is contained in:
parent
2d12933112
commit
295f3a144a
60
app.js
60
app.js
|
@ -22,13 +22,65 @@ app.start = function(port, callback) {
|
|||
cert: fs.readFileSync(bc + '/test/data/x509.crt')
|
||||
});
|
||||
var pserver = require(bc + '/examples/PayPro/server.js');
|
||||
server.on('request', function(req, res) {
|
||||
app(req, res);
|
||||
pserver.app(res, res);
|
||||
pserver.removeListener('request', pserver.app);
|
||||
pserver.on('request', function(req, res) {
|
||||
var statusCode = res.statusCode;
|
||||
|
||||
var headers = Object.keys(res._headers || {}).reduce(function(out, key) {
|
||||
out[key] = res._headers[key];
|
||||
return out;
|
||||
}, {});
|
||||
|
||||
var headerNames = Object.keys(res._headerNames || {}).reduce(function(out, key) {
|
||||
out[key] = res._headerNames[key];
|
||||
return out;
|
||||
}, {});
|
||||
|
||||
var writeHead = res.writeHead;
|
||||
var write = res.write;
|
||||
var end = res.end;
|
||||
var status;
|
||||
|
||||
res.writeHead = function(s) {
|
||||
status = s;
|
||||
if (status > 400) {
|
||||
return;
|
||||
}
|
||||
return writeHead.apply(this, arguments);
|
||||
};
|
||||
|
||||
res.write = function() {
|
||||
if (status && status > 400) {
|
||||
return true;
|
||||
}
|
||||
return write.apply(this, arguments);
|
||||
};
|
||||
|
||||
res.end = function() {
|
||||
var self = this;
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
process.nextTick(function() {
|
||||
self.statusCode = statusCode;
|
||||
self._headers = headers;
|
||||
self._headerNames = headerNames;
|
||||
self.writeHead = writeHead;
|
||||
self.write = write;
|
||||
self.end = end;
|
||||
if ((status || self.statusCode) > 400) {
|
||||
return pserver.app(req, res);
|
||||
}
|
||||
return end.apply(self, args);
|
||||
});
|
||||
return true;
|
||||
};
|
||||
|
||||
return app(req, res);
|
||||
});
|
||||
app.listen(port, function() {
|
||||
|
||||
pserver.listen(port, function() {
|
||||
callback('https://localhost:' + port);
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue