private void SetRequestLogProperties(HttpRequestLog logMessage, HttpContext context, RaccoonLogHttpOptions options, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); var request = context.Request; var requestOptions = options.Request; var ignoreHeaders = requestOptions.IgnoreHeaders; var sensitiveData = options.SensitiveData.Request; logMessage.Method = request.Method; logMessage.ContentType = request.ContentType; SetCookies(logMessage, sensitiveData.Cookies, request.Cookies, cancellationToken); SetHeaders(logMessage, ignoreHeaders, sensitiveData.Headers, request.Headers, cancellationToken); SetParameters(logMessage, sensitiveData.Parameters, request.Query, cancellationToken); logMessage.SetUrl(request.GetEncodedUrl(), request.Protocol); if (requestOptions.IgnoreContentTypes.Contains(request.ContentType)) { logMessage.IgnoreBody(); } }
private void SetResponseLogProperties <THttpMessageLog>(THttpMessageLog logMessage, HttpContext context, RaccoonLogHttpOptions options, CancellationToken cancellationToken) where THttpMessageLog : HttpMessageLog, new() { cancellationToken.ThrowIfCancellationRequested(); var response = context.Response; var responseOptions = options.Response; var ignoreHeaders = responseOptions.IgnoreHeaders; var ignoreContentTypes = responseOptions.IgnoreContentTypes; var sensitiveData = options.SensitiveData.Response.Headers; logMessage.ContentType = response.ContentType; SetHeaders(logMessage, ignoreHeaders, sensitiveData, response.Headers, cancellationToken); if (ignoreContentTypes.Contains(response.ContentType)) { logMessage.IgnoreBody(); } }