| ; | |
| var assert = require('assert'); | |
| var express = require('express'); | |
| var request = require('supertest'); | |
| var proxy = require('../'); | |
| describe('preserveReqSession', function () { | |
| this.timeout(10000); | |
| var app; | |
| beforeEach(function () { | |
| app = express(); | |
| app.use(proxy('httpbin.org')); | |
| }); | |
| it('preserveReqSession', function (done) { | |
| var app = express(); | |
| app.use(function (req, res, next) { | |
| req.session = 'hola'; | |
| next(); | |
| }); | |
| app.use(proxy('httpbin.org', { | |
| preserveReqSession: true, | |
| proxyReqOptDecorator: function (reqOpts) { | |
| assert(reqOpts.session, 'hola'); | |
| return reqOpts; | |
| } | |
| })); | |
| request(app) | |
| .get('/user-agent') | |
| .end(function (err) { | |
| if (err) { return done(err); } | |
| done(); | |
| }); | |
| }); | |
| }); | |