summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/IOL.Helpers/HttpRequestHelpers.cs18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/IOL.Helpers/HttpRequestHelpers.cs b/src/IOL.Helpers/HttpRequestHelpers.cs
index 5a0e145..a5f015e 100644
--- a/src/IOL.Helpers/HttpRequestHelpers.cs
+++ b/src/IOL.Helpers/HttpRequestHelpers.cs
@@ -5,11 +5,19 @@ namespace IOL.Helpers
{
public static class HttpRequestHelpers
{
- public static string GetAppHost(this HttpRequest request) {
- var forwardedHostHeader = request.Headers["X-Forwarded-Host"].ToString();
- var forwardedProtoHeader = request.Headers["X-Forwarded-Proto"].ToString();
- if (forwardedHostHeader.HasValue()) {
- return (forwardedProtoHeader ?? "https") + "://" + forwardedHostHeader;
+ /// <summary>
+ /// Get's the scheme and host (scheme://host) value of the current HttpRequest
+ /// </summary>
+ /// <param name="request">HttpRequest to retrieve value from</param>
+ /// <param name="ignoreForwared">Ignore header values like X-Forwarded-Host|Proto</param>
+ /// <returns></returns>
+ public static string GetRequestHost(this HttpRequest request, bool ignoreForwared = false) {
+ if (!ignoreForwared) {
+ var forwardedHostHeader = request.Headers["X-Forwarded-Host"].ToString();
+ var forwardedProtoHeader = request.Headers["X-Forwarded-Proto"].ToString();
+ if (forwardedHostHeader.HasValue()) {
+ return (forwardedProtoHeader ?? "https") + "://" + forwardedHostHeader;
+ }
}
return request.Scheme + "://" + request.Host;