-
Notifications
You must be signed in to change notification settings - Fork 869
Closed
Description
Behavior without logProvider override
[HPM] Rewriting path from "/some_path/request" to "/api/request"
[HPM] GET /some_path/api/request ~> http://some_url.com:port
Expected behavior
TIME_LOGGED - info: [HPM] Rewriting path from "/some_path/request" to "/api/request"
TIME_LOGGED - info: [HPM] GET /some_path/api/request ~> http://some_url.com:port
Actual behavior
No output to console
Setup
- http-proxy-middleware:
0.17.4
- server: express
4.14.0
- logger: winston
2.3.1
proxy middleware configuration / Server Mounting
var http_proxy = require('http-proxy-middleware');
var express = require('express');
var router = express.Router();
var requestTime = function (req, res, next) {
req._startTime = new Date().getTime();
next();
};
router.use('/some_path', requestTime, proxy('http://some_url.com', '/api'));
function onProxyRequest(path) {
return function (proxyReq, req) {
var values = serviceCallerId(req);
proxyReq.setHeader('User-Agent', values.userAgent);
proxyReq.setHeader('X-Orig-Base', '/some/api' + path);
if (!req.headers.accept) {
proxyReq.setHeader('accept', 'application/json');
}
return proxyReq;
};
}
function proxy(url, path) {
var pathRewrite = {};
pathRewrite['^' + path + '/'] = '/';
var options = {
logLevel: 'debug',
logProvider: function (provider) {
var winston = require('winston');
return new (winston.Logger)({
transports: [
new (winston.transports.Console)(
{'timestamp':true})
]
});
},
target: url,
changeOrigin: true,
pathRewrite: pathRewrite,
onProxyReq: onProxyRequest(path)
};
return http_proxy(options);
}
Metadata
Metadata
Assignees
Labels
No labels