コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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();
            }
        }