diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2009-03-27 20:48:13 -0700 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2009-03-27 20:49:53 -0700 |
commit | 2ecd018df1619b2633092ca50c27592b9db73b5b (patch) | |
tree | 06249e2cfcfdc89f92eb427ca6fe6f7bbbbf49cf /src | |
parent | 6d27447b80ab59d401cb5ff9886f4fdc0362e162 (diff) | |
download | DotNetOpenAuth-2ecd018df1619b2633092ca50c27592b9db73b5b.zip DotNetOpenAuth-2ecd018df1619b2633092ca50c27592b9db73b5b.tar.gz DotNetOpenAuth-2ecd018df1619b2633092ca50c27592b9db73b5b.tar.bz2 |
Fixes for less-common HTTP responses that lack some headers.
Diffstat (limited to 'src')
-rw-r--r-- | src/DotNetOpenAuth/Yadis/DiscoveryResult.cs | 2 | ||||
-rw-r--r-- | src/DotNetOpenAuth/Yadis/Yadis.cs | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/DotNetOpenAuth/Yadis/DiscoveryResult.cs b/src/DotNetOpenAuth/Yadis/DiscoveryResult.cs index 90495e2..01dae40 100644 --- a/src/DotNetOpenAuth/Yadis/DiscoveryResult.cs +++ b/src/DotNetOpenAuth/Yadis/DiscoveryResult.cs @@ -28,7 +28,7 @@ namespace DotNetOpenAuth.Yadis { if (finalResponse == null) { this.ContentType = initialResponse.ContentType; this.ResponseText = initialResponse.GetResponseString(); - this.IsXrds = ContentType.MediaType == ContentTypes.Xrds; + this.IsXrds = this.ContentType != null && this.ContentType.MediaType == ContentTypes.Xrds; } else { this.ContentType = finalResponse.ContentType; this.ResponseText = finalResponse.GetResponseString(); diff --git a/src/DotNetOpenAuth/Yadis/Yadis.cs b/src/DotNetOpenAuth/Yadis/Yadis.cs index c3ae307..98bffc9 100644 --- a/src/DotNetOpenAuth/Yadis/Yadis.cs +++ b/src/DotNetOpenAuth/Yadis/Yadis.cs @@ -76,7 +76,7 @@ namespace DotNetOpenAuth.Yadis { Logger.Yadis.DebugFormat("{0} found in HTTP header. Preparing to pull XRDS from {1}", HeaderName, url); } } - if (url == null && response.ContentType.MediaType == ContentTypes.Html) { + if (url == null && response.ContentType != null && response.ContentType.MediaType == ContentTypes.Html) { url = FindYadisDocumentLocationInHtmlMetaTags(response.GetResponseString()); if (url != null) { Logger.Yadis.DebugFormat("{0} found in HTML Http-Equiv tag. Preparing to pull XRDS from {1}", HeaderName, url); @@ -152,6 +152,10 @@ namespace DotNetOpenAuth.Yadis { /// <c>true</c> if the response constains an XRDS document; otherwise, <c>false</c>. /// </returns> private static bool IsXrdsDocument(CachedDirectWebResponse response) { + if (response.ContentType == null) { + return false; + } + if (response.ContentType.MediaType == ContentTypes.Xrds) { return true; } |