summaryrefslogtreecommitdiffstats
path: root/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2013-02-03 07:19:20 -0800
committerAndrew Arnott <andrewarnott@gmail.com>2013-02-03 07:19:20 -0800
commit778328ec797299ed6aa01279b3ccbf1eb15258bd (patch)
treed21ec38d500885d7bf82e06e73490bfb7b9f2650 /src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs
parentca038238a457c8c591032b621e18bb8382c3ed7d (diff)
parent3d5be0512a0208c58a96de74254fceacd83042a2 (diff)
downloadDotNetOpenAuth-778328ec797299ed6aa01279b3ccbf1eb15258bd.zip
DotNetOpenAuth-778328ec797299ed6aa01279b3ccbf1eb15258bd.tar.gz
DotNetOpenAuth-778328ec797299ed6aa01279b3ccbf1eb15258bd.tar.bz2
Merge remote-tracking branch 'aarnott/v4.1' into v4.1
Diffstat (limited to 'src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs')
-rw-r--r--src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs b/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs
index 69b111d..7aa4469 100644
--- a/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs
+++ b/src/DotNetOpenAuth.Core/Messaging/MessagingUtilities.cs
@@ -1927,7 +1927,8 @@ namespace DotNetOpenAuth.Messaging {
// the public URL:
if (serverVariables["HTTP_HOST"] != null) {
ErrorUtilities.VerifySupported(request.Url.Scheme == Uri.UriSchemeHttps || request.Url.Scheme == Uri.UriSchemeHttp, "Only HTTP and HTTPS are supported protocols.");
- string scheme = serverVariables["HTTP_X_FORWARDED_PROTO"] ?? request.Url.Scheme;
+ string scheme = serverVariables["HTTP_X_FORWARDED_PROTO"] ??
+ (string.Equals(serverVariables["HTTP_FRONT_END_HTTPS"], "on", StringComparison.OrdinalIgnoreCase) ? Uri.UriSchemeHttps : request.Url.Scheme);
Uri hostAndPort = new Uri(scheme + Uri.SchemeDelimiter + serverVariables["HTTP_HOST"]);
UriBuilder publicRequestUri = new UriBuilder(request.Url);
publicRequestUri.Scheme = scheme;