mirror of
https://github.com/Prowlarr/Prowlarr
synced 2026-01-30 03:22:02 +01:00
32 lines
958 B
C#
32 lines
958 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace NzbDrone.Common.Http
|
|
{
|
|
public class TooManyRequestsException : HttpException
|
|
{
|
|
public TimeSpan RetryAfter { get; private set; }
|
|
|
|
public TooManyRequestsException(HttpRequest request, HttpResponse response)
|
|
: base(request, response)
|
|
{
|
|
if (response.Headers.ContainsKey("Retry-After"))
|
|
{
|
|
var retryAfter = response.Headers["Retry-After"].ToString();
|
|
int seconds;
|
|
DateTime date;
|
|
|
|
if (int.TryParse(retryAfter, out seconds))
|
|
{
|
|
RetryAfter = TimeSpan.FromSeconds(seconds);
|
|
}
|
|
else if (DateTime.TryParse(retryAfter, out date))
|
|
{
|
|
RetryAfter = date.ToUniversalTime() - DateTime.UtcNow;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|