Fixed: Testing qBittorrent after credentials change would always pass tests
This commit is contained in:
@@ -28,6 +28,7 @@ namespace NzbDrone.Common.Http
|
|||||||
public TimeSpan RateLimit { get; set; }
|
public TimeSpan RateLimit { get; set; }
|
||||||
public bool LogResponseContent { get; set; }
|
public bool LogResponseContent { get; set; }
|
||||||
public ICredentials NetworkCredential { get; set; }
|
public ICredentials NetworkCredential { get; set; }
|
||||||
|
public bool StoreRequestCookie { get; set; }
|
||||||
public Dictionary<string, string> Cookies { get; private set; }
|
public Dictionary<string, string> Cookies { get; private set; }
|
||||||
public List<HttpFormData> FormData { get; private set; }
|
public List<HttpFormData> FormData { get; private set; }
|
||||||
public Action<HttpRequest> PostProcess { get; set; }
|
public Action<HttpRequest> PostProcess { get; set; }
|
||||||
@@ -44,6 +45,7 @@ namespace NzbDrone.Common.Http
|
|||||||
Cookies = new Dictionary<string, string>();
|
Cookies = new Dictionary<string, string>();
|
||||||
FormData = new List<HttpFormData>();
|
FormData = new List<HttpFormData>();
|
||||||
LogHttpError = true;
|
LogHttpError = true;
|
||||||
|
StoreRequestCookie = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public HttpRequestBuilder(bool useHttps, string host, int port, string urlBase = null)
|
public HttpRequestBuilder(bool useHttps, string host, int port, string urlBase = null)
|
||||||
@@ -111,6 +113,7 @@ namespace NzbDrone.Common.Http
|
|||||||
request.RateLimit = RateLimit;
|
request.RateLimit = RateLimit;
|
||||||
request.LogResponseContent = LogResponseContent;
|
request.LogResponseContent = LogResponseContent;
|
||||||
request.Credentials = NetworkCredential;
|
request.Credentials = NetworkCredential;
|
||||||
|
request.StoreRequestCookie = StoreRequestCookie;
|
||||||
|
|
||||||
foreach (var header in Headers)
|
foreach (var header in Headers)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -342,7 +342,7 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
|
|||||||
var requestBuilder = new HttpRequestBuilder(settings.UseSsl, settings.Host, settings.Port, settings.UrlBase)
|
var requestBuilder = new HttpRequestBuilder(settings.UseSsl, settings.Host, settings.Port, settings.UrlBase)
|
||||||
{
|
{
|
||||||
LogResponseContent = true,
|
LogResponseContent = true,
|
||||||
NetworkCredential = new BasicNetworkCredential(settings.Username, settings.Password)
|
StoreRequestCookie = false
|
||||||
};
|
};
|
||||||
return requestBuilder;
|
return requestBuilder;
|
||||||
}
|
}
|
||||||
@@ -403,7 +403,7 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var authKey = string.Format("{0}:{1}", requestBuilder.BaseUrl, settings.Password);
|
var authKey = $"{requestBuilder.BaseUrl}:{settings.Username}:{settings.Password}";
|
||||||
|
|
||||||
var cookies = _authCookieCache.Find(authKey);
|
var cookies = _authCookieCache.Find(authKey);
|
||||||
|
|
||||||
@@ -411,7 +411,10 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
|
|||||||
{
|
{
|
||||||
_authCookieCache.Remove(authKey);
|
_authCookieCache.Remove(authKey);
|
||||||
|
|
||||||
var authLoginRequest = BuildRequest(settings).Resource("/api/v2/auth/login")
|
var authRequestBuilder = BuildRequest(settings);
|
||||||
|
authRequestBuilder.NetworkCredential = new BasicNetworkCredential(settings.Username, settings.Password);
|
||||||
|
|
||||||
|
var authLoginRequest = authRequestBuilder.Resource("/api/v2/auth/login")
|
||||||
.Post()
|
.Post()
|
||||||
.AddFormParameter("username", settings.Username ?? string.Empty)
|
.AddFormParameter("username", settings.Username ?? string.Empty)
|
||||||
.AddFormParameter("password", settings.Password ?? string.Empty)
|
.AddFormParameter("password", settings.Password ?? string.Empty)
|
||||||
|
|||||||
Reference in New Issue
Block a user