Logging - mattiasnordqvist/Web-Anchor GitHub Wiki

Wanna log what's going in and out of web anchor?

public class LoggingHandler : DelegatingHandler
{
    public LoggingHandler(HttpMessageHandler innerHandler) : base(innerHandler)
    {
    }

    protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        // Log your request. Use "await request.Content.ReadAsStringAsync().ConfigureAwait(false)" to read body content
        
        var response = await base.SendAsync(request, cancellationToken);

        // Log the response. Use "await response.Content.ReadAsStringAsync().ConfigureAwait(false)" to read body content
        return response;
    }
}

Then create your api like this

var handler = new HttpClientHandler();
var httpClient = new HttpClient(new LoggingHandler(handler));
httpClient.BaseAddress = new Uri(...);
return Api.For<IYourApi>(httpClient);
⚠️ **GitHub.com Fallback** ⚠️