Add Accept HTTP header

This commit is contained in:
kaso17 2017-02-07 17:06:17 +01:00
parent ef75684c0e
commit 7226626b71
2 changed files with 23 additions and 2 deletions

View File

@ -24,9 +24,29 @@ namespace Jackett.Utils.Clients
configService = c;
}
virtual protected void PrepareRequest(WebRequest request)
{
// add accept header if not set
if (request.Headers == null)
request.Headers = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
var hasAccept = false;
foreach (var header in request.Headers)
{
var key = header.Key.ToLower();
if (key == "accept")
{
hasAccept = true;
}
}
if (!hasAccept)
request.Headers.Add("Accept", "*/*");
return;
}
virtual public async Task<WebClientByteResult> GetBytes(WebRequest request)
{
logger.Debug(string.Format("IWebClient.GetBytes(Url:{0})", request.Url));
PrepareRequest(request);
var result = await Run(request);
logger.Debug(string.Format("IWebClient: Returning {0} => {1} bytes", result.Status, (result.IsRedirect ? result.RedirectingTo + " " : "") + (result.Content == null ? "<NULL>" : result.Content.Length.ToString())));
return result;
@ -35,6 +55,7 @@ namespace Jackett.Utils.Clients
virtual public async Task<WebClientStringResult> GetString(WebRequest request)
{
logger.Debug(string.Format("IWebClient.GetString(Url:{0})", request.Url));
PrepareRequest(request);
var result = await Run(request);
WebClientStringResult stringResult = Mapper.Map<WebClientStringResult>(result);
Encoding encoding = null;

View File

@ -13,7 +13,7 @@ namespace Jackett.Utils.Clients
{
PostData = new List<KeyValuePair<string, string>>();
Type = RequestType.GET;
Headers = new Dictionary<string, string>();
Headers = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
EmulateBrowser = true;
Encoding Encoding;
}
@ -23,7 +23,7 @@ namespace Jackett.Utils.Clients
PostData = new List<KeyValuePair<string, string>>();
Type = RequestType.GET;
Url = url;
Headers = new Dictionary<string, string>();
Headers = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
EmulateBrowser = true;
Encoding Encoding;
}