summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Arnott <andrewarnott@gmail.com>2010-04-13 18:02:21 -0700
committerAndrew Arnott <andrewarnott@gmail.com>2010-04-13 20:27:11 -0700
commit34080bfd3948a0dea0dac6d876a200a9a8017669 (patch)
treefd1f55cb0e7e17ca69be8bbb46a951667d07cfb2 /src
parent5921a208b399e98e4d7208c2741b9210e0a7ebd1 (diff)
downloadDotNetOpenAuth-34080bfd3948a0dea0dac6d876a200a9a8017669.zip
DotNetOpenAuth-34080bfd3948a0dea0dac6d876a200a9a8017669.tar.gz
DotNetOpenAuth-34080bfd3948a0dea0dac6d876a200a9a8017669.tar.bz2
Fixed an occasional unhandled exception.v3.4.3.10103
Diffstat (limited to 'src')
-rw-r--r--src/DotNetOpenAuth/Messaging/CachedDirectWebResponse.cs13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/DotNetOpenAuth/Messaging/CachedDirectWebResponse.cs b/src/DotNetOpenAuth/Messaging/CachedDirectWebResponse.cs
index dd34d90..c9bc1d3 100644
--- a/src/DotNetOpenAuth/Messaging/CachedDirectWebResponse.cs
+++ b/src/DotNetOpenAuth/Messaging/CachedDirectWebResponse.cs
@@ -90,11 +90,16 @@ namespace DotNetOpenAuth.Messaging {
public override StreamReader GetResponseReader() {
this.ResponseStream.Seek(0, SeekOrigin.Begin);
string contentEncoding = this.Headers[HttpResponseHeader.ContentEncoding];
- if (string.IsNullOrEmpty(contentEncoding)) {
- return new StreamReader(this.ResponseStream);
- } else {
- return new StreamReader(this.ResponseStream, Encoding.GetEncoding(contentEncoding));
+ Encoding encoding = null;
+ if (!string.IsNullOrEmpty(contentEncoding)) {
+ try {
+ encoding = Encoding.GetEncoding(contentEncoding);
+ } catch (ArgumentException ex) {
+ Logger.Messaging.ErrorFormat("Encoding.GetEncoding(\"{0}\") threw ArgumentException: {1}", contentEncoding, ex);
+ }
}
+
+ return encoding != null ? new StreamReader(this.ResponseStream, encoding) : new StreamReader(this.ResponseStream);
}
/// <summary>