mail: proxy queue routes correctly
This commit is contained in:
@@ -27,9 +27,8 @@ async function restart(req, res, next) {
|
||||
next();
|
||||
}
|
||||
|
||||
async function proxyToMailContainer(port, req, res, next) {
|
||||
async function proxyToMailContainer(port, pathname, req, res, next) {
|
||||
const parsedUrl = url.parse(req.url, true /* parseQueryString */);
|
||||
const pathname = req.path.split('/').pop();
|
||||
|
||||
// do not proxy protected values
|
||||
delete parsedUrl.query['access_token'];
|
||||
@@ -40,7 +39,7 @@ async function proxyToMailContainer(port, req, res, next) {
|
||||
if (error) return next(BoxError.toHttpError(error));
|
||||
|
||||
parsedUrl.query['access_token'] = addonDetails.token;
|
||||
req.url = url.format({ pathname: pathname, query: parsedUrl.query });
|
||||
req.url = url.format({ pathname, query: parsedUrl.query });
|
||||
|
||||
const proxyOptions = url.parse(`http://${addonDetails.ip}:${port}`);
|
||||
const mailserverProxy = middleware.proxy(proxyOptions);
|
||||
@@ -57,11 +56,13 @@ async function proxyToMailContainer(port, req, res, next) {
|
||||
}
|
||||
|
||||
async function proxy(req, res, next) {
|
||||
proxyToMailContainer(3000, req, res, next);
|
||||
const pathname = req.path.split('/').pop();
|
||||
|
||||
proxyToMailContainer(3000, pathname, req, res, next);
|
||||
}
|
||||
|
||||
async function queueProxy(req, res, next) {
|
||||
proxyToMailContainer(6000, req, res, next);
|
||||
proxyToMailContainer(6000, req.path.replace('/', '/tempfail_queue/'), req, res, next);
|
||||
}
|
||||
|
||||
async function getLocation(req, res, next) {
|
||||
|
||||
Reference in New Issue
Block a user