mirror of
https://github.com/Radarr/Radarr.git
synced 2024-11-04 10:02:40 +01:00
Fixed: Tweaked ratelimit logic for rarbg api.
This commit is contained in:
parent
e0d1e08f94
commit
7ef1ca8a00
@ -22,6 +22,7 @@ public class HttpRequestBuilder
|
|||||||
public bool UseSimplifiedUserAgent { get; set; }
|
public bool UseSimplifiedUserAgent { get; set; }
|
||||||
public bool AllowAutoRedirect { get; set; }
|
public bool AllowAutoRedirect { get; set; }
|
||||||
public bool ConnectionKeepAlive { get; set; }
|
public bool ConnectionKeepAlive { get; set; }
|
||||||
|
public TimeSpan RateLimit { get; set; }
|
||||||
public bool LogResponseContent { get; set; }
|
public bool LogResponseContent { get; set; }
|
||||||
public NetworkCredential NetworkCredential { get; set; }
|
public NetworkCredential NetworkCredential { get; set; }
|
||||||
public Dictionary<string, string> Cookies { get; private set; }
|
public Dictionary<string, string> Cookies { get; private set; }
|
||||||
@ -75,7 +76,7 @@ public virtual HttpRequestBuilder Clone()
|
|||||||
protected virtual HttpUri CreateUri()
|
protected virtual HttpUri CreateUri()
|
||||||
{
|
{
|
||||||
var url = BaseUrl.CombinePath(ResourceUrl).AddQueryParams(QueryParams.Concat(SuffixQueryParams));
|
var url = BaseUrl.CombinePath(ResourceUrl).AddQueryParams(QueryParams.Concat(SuffixQueryParams));
|
||||||
|
|
||||||
if (Segments.Any())
|
if (Segments.Any())
|
||||||
{
|
{
|
||||||
var fullUri = url.FullUri;
|
var fullUri = url.FullUri;
|
||||||
@ -103,6 +104,7 @@ protected virtual void Apply(HttpRequest request)
|
|||||||
request.UseSimplifiedUserAgent = UseSimplifiedUserAgent;
|
request.UseSimplifiedUserAgent = UseSimplifiedUserAgent;
|
||||||
request.AllowAutoRedirect = AllowAutoRedirect;
|
request.AllowAutoRedirect = AllowAutoRedirect;
|
||||||
request.ConnectionKeepAlive = ConnectionKeepAlive;
|
request.ConnectionKeepAlive = ConnectionKeepAlive;
|
||||||
|
request.RateLimit = RateLimit;
|
||||||
request.LogResponseContent = LogResponseContent;
|
request.LogResponseContent = LogResponseContent;
|
||||||
|
|
||||||
if (NetworkCredential != null)
|
if (NetworkCredential != null)
|
||||||
@ -245,6 +247,13 @@ public virtual HttpRequestBuilder KeepAlive(bool keepAlive = true)
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual HttpRequestBuilder WithRateLimit(double seconds)
|
||||||
|
{
|
||||||
|
RateLimit = TimeSpan.FromSeconds(seconds);
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public virtual HttpRequestBuilder Post()
|
public virtual HttpRequestBuilder Post()
|
||||||
{
|
{
|
||||||
Method = HttpMethod.POST;
|
Method = HttpMethod.POST;
|
||||||
@ -371,4 +380,4 @@ public virtual HttpRequestBuilder AddFormUpload(string name, string fileName, by
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,8 @@ public string GetToken(RarbgSettings settings)
|
|||||||
return _tokenCache.Get(settings.BaseUrl, () =>
|
return _tokenCache.Get(settings.BaseUrl, () =>
|
||||||
{
|
{
|
||||||
var requestBuilder = new HttpRequestBuilder(settings.BaseUrl.Trim('/'))
|
var requestBuilder = new HttpRequestBuilder(settings.BaseUrl.Trim('/'))
|
||||||
.Resource("/pubapi_v2.php?get_token=get_token")
|
.WithRateLimit(3.0)
|
||||||
|
.Resource("/pubapi_v2.php?get_token=get_token&app_id=Sonarr")
|
||||||
.Accept(HttpAccept.Json);
|
.Accept(HttpAccept.Json);
|
||||||
|
|
||||||
if (settings.CaptchaToken.IsNotNullOrWhiteSpace())
|
if (settings.CaptchaToken.IsNotNullOrWhiteSpace())
|
||||||
|
Loading…
Reference in New Issue
Block a user