summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Services/ProxyService.cs
diff options
context:
space:
mode:
authorWouter Tinus <wouter.tinus@gmail.com>2020-05-13 19:22:03 +0200
committerWouter Tinus <wouter.tinus@gmail.com>2020-05-13 19:22:03 +0200
commit514e903e87ce0e5bf2d791394e324f3d164f4a5c (patch)
treed19299cc033d82ac16990995fa0db237760c852f /src/main.lib/Services/ProxyService.cs
parent25d0a23aee4c16fa1db07625cad560bf5453df72 (diff)
downloadletsencrypt-win-simple-514e903e87ce0e5bf2d791394e324f3d164f4a5c.zip
letsencrypt-win-simple-514e903e87ce0e5bf2d791394e324f3d164f4a5c.tar.gz
letsencrypt-win-simple-514e903e87ce0e5bf2d791394e324f3d164f4a5c.tar.bz2
Log all requests going through our HttpClient instead of only those that AcmeSharpCore triggers events on
Diffstat (limited to 'src/main.lib/Services/ProxyService.cs')
-rw-r--r--src/main.lib/Services/ProxyService.cs19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main.lib/Services/ProxyService.cs b/src/main.lib/Services/ProxyService.cs
index f2d49a9..9287ed1 100644
--- a/src/main.lib/Services/ProxyService.cs
+++ b/src/main.lib/Services/ProxyService.cs
@@ -2,6 +2,8 @@
using System.Net;
using System.Net.Http;
using System.Security.Authentication;
+using System.Threading;
+using System.Threading.Tasks;
namespace PKISharp.WACS.Services
{
@@ -29,7 +31,7 @@ namespace PKISharp.WACS.Services
/// <returns></returns>
public HttpClient GetHttpClient(bool checkSsl = true)
{
- var httpClientHandler = new HttpClientHandler()
+ var httpClientHandler = new LoggingHttpClientHandler(_log)
{
Proxy = GetWebProxy(),
SslProtocols = SslProtocols
@@ -45,6 +47,21 @@ namespace PKISharp.WACS.Services
return new HttpClient(httpClientHandler);
}
+ private class LoggingHttpClientHandler : HttpClientHandler
+ {
+ private readonly ILogService _log;
+
+ public LoggingHttpClientHandler(ILogService log) => _log = log;
+
+ protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) {
+ _log.Debug("Send {method} request to {uri}", request.Method, request.RequestUri);
+ var response = await base.SendAsync(request, cancellationToken);
+ _log.Verbose("Request completed with status {s}", response.StatusCode);
+ return response;
+ }
+ }
+
+
/// <summary>
/// Get proxy server to use for web requests
/// </summary>