You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

37 lines
963 B

var assert = require('assert'),
vows = require('vows'),
request = require('request'),
union = require('../');
function stream_callback(cb) {
return function () {
var stream = new union.ResponseStream();
stream.once("pipe", function (req) {
return cb ? cb(null,req) : undefined;
});
return stream;
};
}
vows.describe('union/after').addBatch({
'When using `union`': {
'a union server with after middleware': {
topic: function () {
var self = this;
union.createServer({
after: [ stream_callback(), stream_callback(self.callback) ]
}).listen(9000, function () {
request.get('http://localhost:9000');
});
},
'should preserve the request until the last call': function (req) {
assert.equal(req.req.httpVersion, '1.1');
assert.equal(req.req.url, '/');
assert.equal(req.req.method, 'GET');
}
}
}
}).export(module);