diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-17 22:43:34 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-17 22:43:34 -0400 |
| commit | 60780399c51165a06a04d8a01d59252bc9c82d7f (patch) | |
| tree | 53edb713a4d311234b21eebfa091a6c2bf382db5 /MediaBrowser.Common/Net/HttpRequestOptions.cs | |
| parent | 06c611dd50d37b786a957cea7308fb30e926a919 (diff) | |
allow request header overrides
Diffstat (limited to 'MediaBrowser.Common/Net/HttpRequestOptions.cs')
| -rw-r--r-- | MediaBrowser.Common/Net/HttpRequestOptions.cs | 33 |
1 files changed, 30 insertions, 3 deletions
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. /// </summary> /// <value>The accept header.</value> - public string AcceptHeader { get; set; } - + public string AcceptHeader + { + get { return GetHeaderValue("Accept"); } + set + { + RequestHeaders["Accept"] = value; + } + } /// <summary> /// Gets or sets the cancellation token. /// </summary> @@ -36,7 +43,14 @@ namespace MediaBrowser.Common.Net /// Gets or sets the user agent. /// </summary> /// <value>The user agent.</value> - public string UserAgent { get; set; } + public string UserAgent + { + get { return GetHeaderValue("User-Agent"); } + set + { + RequestHeaders["User-Agent"] = value; + } + } /// <summary> /// Gets or sets the progress. @@ -50,12 +64,25 @@ namespace MediaBrowser.Common.Net /// <value><c>true</c> if [enable HTTP compression]; otherwise, <c>false</c>.</value> public bool EnableHttpCompression { get; set; } + public Dictionary<string, string> RequestHeaders { get; private set; } + + private string GetHeaderValue(string name) + { + string value; + + RequestHeaders.TryGetValue(name, out value); + + return value; + } + /// <summary> /// Initializes a new instance of the <see cref="HttpRequestOptions"/> class. /// </summary> public HttpRequestOptions() { EnableHttpCompression = true; + + RequestHeaders = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); } } } |
