1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-11-04 10:02:40 +01:00

Send Http auth without waiting for challenge.

This commit is contained in:
Taloth Saldono 2016-03-17 20:15:53 +01:00
parent 70494c3674
commit 2d96914bfa
4 changed files with 8 additions and 16 deletions

View File

@ -41,13 +41,6 @@ public HttpResponse GetResponse(HttpRequest request, CookieContainer cookies)
throw new ApplicationException("Curl failed to initialize."); throw new ApplicationException("Curl failed to initialize.");
} }
if (request.NetworkCredential != null)
{
var authInfo = request.NetworkCredential.UserName + ":" + request.NetworkCredential.Password;
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
request.Headers["Authorization"] = "Basic " + authInfo;
}
lock (CurlGlobalHandle.Instance) lock (CurlGlobalHandle.Instance)
{ {
Stream responseStream = new MemoryStream(); Stream responseStream = new MemoryStream();
@ -66,7 +59,7 @@ public HttpResponse GetResponse(HttpRequest request, CookieContainer cookies)
headerStream.Write(b, 0, s * n); headerStream.Write(b, 0, s * n);
return s * n; return s * n;
}; };
curlEasy.Url = request.Url.FullUri; curlEasy.Url = request.Url.FullUri;
switch (request.Method) switch (request.Method)
{ {

View File

@ -15,18 +15,12 @@ public HttpResponse GetResponse(HttpRequest request, CookieContainer cookies)
//http://stackoverflow.com/questions/8490718/how-to-decompress-stream-deflated-with-java-util-zip-deflater-in-net //http://stackoverflow.com/questions/8490718/how-to-decompress-stream-deflated-with-java-util-zip-deflater-in-net
webRequest.AutomaticDecompression = DecompressionMethods.GZip; webRequest.AutomaticDecompression = DecompressionMethods.GZip;
webRequest.Credentials = request.NetworkCredential;
webRequest.Method = request.Method.ToString(); webRequest.Method = request.Method.ToString();
webRequest.UserAgent = UserAgentBuilder.UserAgent; webRequest.UserAgent = UserAgentBuilder.UserAgent;
webRequest.KeepAlive = false; webRequest.KeepAlive = false;
webRequest.AllowAutoRedirect = request.AllowAutoRedirect; webRequest.AllowAutoRedirect = request.AllowAutoRedirect;
webRequest.CookieContainer = cookies; webRequest.CookieContainer = cookies;
if (request.NetworkCredential != null)
{
webRequest.PreAuthenticate = true;
}
if (request.RequestTimeout != TimeSpan.Zero) if (request.RequestTimeout != TimeSpan.Zero)
{ {
webRequest.Timeout = (int)Math.Ceiling(request.RequestTimeout.TotalMilliseconds); webRequest.Timeout = (int)Math.Ceiling(request.RequestTimeout.TotalMilliseconds);

View File

@ -33,7 +33,6 @@ public HttpRequest(string url, HttpAccept httpAccept = null)
public HttpHeader Headers { get; set; } public HttpHeader Headers { get; set; }
public byte[] ContentData { get; set; } public byte[] ContentData { get; set; }
public string ContentSummary { get; set; } public string ContentSummary { get; set; }
public NetworkCredential NetworkCredential { get; set; }
public bool SuppressHttpError { get; set; } public bool SuppressHttpError { get; set; }
public bool AllowAutoRedirect { get; set; } public bool AllowAutoRedirect { get; set; }
public Dictionary<string, string> Cookies { get; private set; } public Dictionary<string, string> Cookies { get; private set; }

View File

@ -98,7 +98,13 @@ protected virtual void Apply(HttpRequest request)
request.Method = Method; request.Method = Method;
request.SuppressHttpError = SuppressHttpError; request.SuppressHttpError = SuppressHttpError;
request.AllowAutoRedirect = AllowAutoRedirect; request.AllowAutoRedirect = AllowAutoRedirect;
request.NetworkCredential = NetworkCredential;
if (NetworkCredential != null)
{
var authInfo = NetworkCredential.UserName + ":" + NetworkCredential.Password;
authInfo = Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes(authInfo));
request.Headers.Set("Authorization", "Basic " + authInfo);
}
foreach (var header in Headers) foreach (var header in Headers)
{ {