Add request info to HttpException & RateLimitedException (#957)

* Add request info to RateLimitedException

* Remove Promise from interface.

* Add Request to HttpException.
This commit is contained in:
Alex Gravely
2018-02-18 19:19:10 -05:00
committed by Christopher F
parent bb8ebc13d2
commit 500f5f434a
6 changed files with 30 additions and 15 deletions

View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Net;
namespace Discord.Net
@@ -8,11 +8,13 @@ namespace Discord.Net
public HttpStatusCode HttpCode { get; }
public int? DiscordCode { get; }
public string Reason { get; }
public IRequest Request { get; }
public HttpException(HttpStatusCode httpCode, int? discordCode = null, string reason = null)
public HttpException(HttpStatusCode httpCode, IRequest request, int? discordCode = null, string reason = null)
: base(CreateMessage(httpCode, discordCode, reason))
{
HttpCode = httpCode;
Request = request;
DiscordCode = discordCode;
Reason = reason;
}

View File

@@ -0,0 +1,10 @@
using System;
namespace Discord.Net
{
public interface IRequest
{
DateTimeOffset? TimeoutAt { get; }
RequestOptions Options { get; }
}
}

View File

@@ -1,12 +1,15 @@
using System;
using System;
namespace Discord.Net
{
public class RateLimitedException : TimeoutException
{
public RateLimitedException()
public IRequest Request { get; }
public RateLimitedException(IRequest request)
: base("You are being rate limited.")
{
Request = request;
}
}
}