diff --git a/Discord.API/Rest/RestClient.cs b/Discord.API/Rest/RestClient.cs index f259f41..f54de65 100644 --- a/Discord.API/Rest/RestClient.cs +++ b/Discord.API/Rest/RestClient.cs @@ -1,4 +1,6 @@ using System.Text.Json; +using Serilog; +using Serilog.Core; namespace Discord.API.Rest; @@ -7,6 +9,7 @@ internal class RestClient{ private HttpClient httpClient; public RestClient(string base_url, string api_key){ + Log.Debug("REST: Creating new rest client. Base url: {base_url}", base_url); httpClient = new HttpClient(){ BaseAddress=new Uri(base_url) }; @@ -21,17 +24,20 @@ internal class RestClient{ try{ HttpResponseMessage resp = await httpClient.GetAsync(url); if(resp.IsSuccessStatusCode){ + Log.Debug("REST: Get {url} successful, http status code: {http_code}", url, resp.StatusCode); return new RestSuccessResponse( deserializer.Invoke(await resp.Content.ReadAsStringAsync()), resp.StatusCode ); }else{ + RestError err = JsonSerializer.Deserialize(await resp.Content.ReadAsStringAsync(), SourceGenerationContext.Default.RestError); + Log.Debug("REST: Get {url} returned error: HTTP: {http_code}, ERR: {err_code}; {err_msg}", url, resp.StatusCode, err.Code, err.Message); return new RestErrorResponse( - JsonSerializer.Deserialize(await resp.Content.ReadAsStringAsync(), SourceGenerationContext.Default.RestError), - resp.StatusCode + err, resp.StatusCode ); } }catch (Exception ex){ + Log.Debug(ex, "REST: Get {url} failed.", url); return new RestFailResponse(ex); } }