aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-10-13 17:22:25 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-10-13 17:22:25 -0400
commit3d3876c9a94b86e25b6d663d65285e220fc93bcc (patch)
tree578ce5e8a146bc842d285e3612024d6ee8ed67dd /MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
parent645a41b193a958672a33208b0768cc1d25a4d852 (diff)
better crash logging
Diffstat (limited to 'MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs')
-rw-r--r--MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs31
1 files changed, 28 insertions, 3 deletions
diff --git a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
index 4d1a9c0d4..b75234107 100644
--- a/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
+++ b/MediaBrowser.Common.Implementations/HttpClientManager/HttpClientManager.cs
@@ -471,7 +471,10 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
foreach (var pair in options.RequestHeaders.ToList())
{
- message.Headers.Add(pair.Key, pair.Value);
+ if (!message.Headers.TryAddWithoutValidation(pair.Key, pair.Value))
+ {
+ _logger.Error("Unable to add request header {0} with value {1}", pair.Key, pair.Value);
+ }
}
return message;
@@ -484,9 +487,31 @@ namespace MediaBrowser.Common.Implementations.HttpClientManager
/// <returns>System.Nullable{System.Int64}.</returns>
private long? GetContentLength(HttpResponseMessage response)
{
- IEnumerable<string> lengthValues;
+ IEnumerable<string> lengthValues = null;
+
+ // Seeing some InvalidOperationException here under mono
+ try
+ {
+ response.Headers.TryGetValues("content-length", out lengthValues);
+ }
+ catch (InvalidOperationException ex)
+ {
+ _logger.ErrorException("Error accessing response.Headers.TryGetValues Content-Length", ex);
+ }
+
+ if (lengthValues == null)
+ {
+ try
+ {
+ response.Content.Headers.TryGetValues("content-length", out lengthValues);
+ }
+ catch (InvalidOperationException ex)
+ {
+ _logger.ErrorException("Error accessing response.Content.Headers.TryGetValues Content-Length", ex);
+ }
+ }
- if (!response.Headers.TryGetValues("content-length", out lengthValues) && !response.Content.Headers.TryGetValues("content-length", out lengthValues))
+ if (lengthValues == null)
{
return null;
}