
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
'use strict';
var assert = require('assert');
var express = require('express');
var request = require('supertest');
var proxy = require('../');
var proxyTarget = require('../test/support/proxyTarget');
var proxyRouteFn = [{
method: 'get',
path: '/hostHdrTest',
fn: function (req, res) {
res.send(req.headers.host);
}
}];
describe('preserves host header only when requested', function () {
this.timeout(10000);
var app;
var proxyServer;
describe('when preserveHostHdr is true', function () {
before(function () {
proxyServer = proxyTarget(12346, 100, proxyRouteFn);
app = express();
app.use(proxy('localhost:12346', {
preserveHostHdr: true
}));
});
after(function () {
proxyServer.close();
});
it('host is passed forward', function (done) {
request(app)
.get('/hostHdrTest')
.set('host', 'hamburger-helper')
.end(function (err, res) {
assert(res.text === 'hamburger-helper');
done();
});
});
});
describe('when preserveHostHdr is absent or false', function () {
before(function () {
proxyServer = proxyTarget(12346, 100, proxyRouteFn);
app = express();
app.use(proxy('localhost:12346'));
});
after(function () {
proxyServer.close();
});
it('host is not passed forward', function (done) {
request(app)
.get('/hostHdrTest')
.set('host', 'hamburger-helper')
.end(function (err, res) {
assert(res.text !== 'hamburger-helper');
done();
});
});
});
});