Initial import from local backup (Documents-Playground/pakerpale)
This commit is contained in:
95
node_modules/express-http-proxy/test/path.js
generated
vendored
Normal file
95
node_modules/express-http-proxy/test/path.js
generated
vendored
Normal file
@@ -0,0 +1,95 @@
|
||||
'use strict';
|
||||
|
||||
var express = require('express');
|
||||
var request = require('supertest');
|
||||
var proxy = require('../');
|
||||
var startProxyTarget = require('./support/proxyTarget');
|
||||
var expect = require('chai').expect;
|
||||
|
||||
describe('uses remote path', function () {
|
||||
|
||||
this.timeout(10000);
|
||||
|
||||
var app = express();
|
||||
var proxyRoutes = ['/somePath/', '/somePath/longer/path', '/somePath/long/path/with/many/tokens'];
|
||||
var proxyKeyPath = '/somePath';
|
||||
var server;
|
||||
|
||||
afterEach(function () {
|
||||
server.close();
|
||||
});
|
||||
|
||||
proxyRoutes.forEach(function (path) {
|
||||
it('uses path component from inbound request', function (done) {
|
||||
|
||||
var modifiedPath = path.replace(new RegExp(proxyKeyPath), '');
|
||||
|
||||
var proxyRouteFn = {
|
||||
method: 'get',
|
||||
path: modifiedPath,
|
||||
fn: function (req, res) {
|
||||
res.json({ path: path, modifiedPath: modifiedPath });
|
||||
}
|
||||
};
|
||||
|
||||
server = startProxyTarget(8309, 1000, [proxyRouteFn]);
|
||||
|
||||
app.use('/somePath/', proxy('http://localhost:8309'));
|
||||
|
||||
request(app)
|
||||
.get(path)
|
||||
.expect(200)
|
||||
.end(function (err, response) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
expect(response.path === path);
|
||||
expect(response.modifiedPath === path);
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
describe('host can be a dynamic function', function () {
|
||||
|
||||
this.timeout(10000);
|
||||
|
||||
var app = express();
|
||||
var firstProxyApp = express();
|
||||
var secondProxyApp = express();
|
||||
var firstPort = 10031;
|
||||
var secondPort = 10032;
|
||||
|
||||
app.use('/proxy/:port', proxy(function (req) {
|
||||
return 'localhost:' + req.params.port;
|
||||
}, {
|
||||
memoizeHost: false
|
||||
}));
|
||||
|
||||
firstProxyApp.use('/', function (req, res) {
|
||||
res.sendStatus(204);
|
||||
});
|
||||
firstProxyApp.listen(firstPort);
|
||||
|
||||
secondProxyApp.use('/', function (req, res) {
|
||||
res.sendStatus(200);
|
||||
});
|
||||
secondProxyApp.listen(secondPort);
|
||||
|
||||
it('can proxy with session value', function (done) {
|
||||
request(app)
|
||||
.get('/proxy/' + firstPort)
|
||||
.expect(204)
|
||||
.end(function (err) {
|
||||
if (err) {
|
||||
return done(err);
|
||||
}
|
||||
request(app)
|
||||
.get('/proxy/' + secondPort)
|
||||
.expect(200, done);
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user