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}"; } }