1
0
mirror of https://github.com/0rangebananaspy/authelia.git synced 2024-09-14 22:47:21 +07:00
authelia/server/src/lib/utils/RequestUrlGetter.ts
2019-04-12 09:24:54 +02:00

21 lines
739 B
TypeScript

import Constants = require("../../../../../shared/constants");
import Express = require("express");
import GetHeader from "../../utils/GetHeader";
import HasHeader from "../..//utils/HasHeader";
export class RequestUrlGetter {
static getOriginalUrl(req: Express.Request): string {
if (HasHeader(req, Constants.HEADER_X_ORIGINAL_URL)) {
return GetHeader(req, Constants.HEADER_X_ORIGINAL_URL);
}
const proto = GetHeader(req, Constants.HEADER_X_FORWARDED_PROTO);
const host = GetHeader(req, Constants.HEADER_X_FORWARDED_HOST);
const port = GetHeader(req, Constants.HEADER_X_FORWARDED_PORT);
const uri = GetHeader(req, Constants.HEADER_X_FORWARDED_URI);
return "${proto}://${host}:${port}${uri}";
}
}