From 3d3876c9a94b86e25b6d663d65285e220fc93bcc Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 13 Oct 2013 17:22:25 -0400 Subject: better crash logging --- .../HttpClientManager/HttpClientManager.cs | 31 +++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.Common.Implementations/HttpClientManager') 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 /// System.Nullable{System.Int64}. private long? GetContentLength(HttpResponseMessage response) { - IEnumerable lengthValues; + IEnumerable 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; } -- cgit v1.2.3