From 60780399c51165a06a04d8a01d59252bc9c82d7f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 17 Sep 2013 22:43:34 -0400 Subject: allow request header overrides --- MediaBrowser.Common/Net/HttpRequestOptions.cs | 33 ++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.Common/Net/HttpRequestOptions.cs') diff --git a/MediaBrowser.Common/Net/HttpRequestOptions.cs b/MediaBrowser.Common/Net/HttpRequestOptions.cs index 5579eb1ce..977a6aabe 100644 --- a/MediaBrowser.Common/Net/HttpRequestOptions.cs +++ b/MediaBrowser.Common/Net/HttpRequestOptions.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Threading; namespace MediaBrowser.Common.Net @@ -18,8 +19,14 @@ namespace MediaBrowser.Common.Net /// Gets or sets the accept header. /// /// The accept header. - public string AcceptHeader { get; set; } - + public string AcceptHeader + { + get { return GetHeaderValue("Accept"); } + set + { + RequestHeaders["Accept"] = value; + } + } /// /// Gets or sets the cancellation token. /// @@ -36,7 +43,14 @@ namespace MediaBrowser.Common.Net /// Gets or sets the user agent. /// /// The user agent. - public string UserAgent { get; set; } + public string UserAgent + { + get { return GetHeaderValue("User-Agent"); } + set + { + RequestHeaders["User-Agent"] = value; + } + } /// /// Gets or sets the progress. @@ -50,12 +64,25 @@ namespace MediaBrowser.Common.Net /// true if [enable HTTP compression]; otherwise, false. public bool EnableHttpCompression { get; set; } + public Dictionary RequestHeaders { get; private set; } + + private string GetHeaderValue(string name) + { + string value; + + RequestHeaders.TryGetValue(name, out value); + + return value; + } + /// /// Initializes a new instance of the class. /// public HttpRequestOptions() { EnableHttpCompression = true; + + RequestHeaders = new Dictionary(StringComparer.OrdinalIgnoreCase); } } } -- cgit v1.2.3