mirror of
https://github.com/0rangebananaspy/authelia.git
synced 2024-09-14 22:47:21 +07:00
21 lines
739 B
TypeScript
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}";
|
|
}
|
|
}
|