public DefaultHttpResponseLogHandler(IHttpLogMessageFactory logMessageFactory, IHttpContextAccessor httpContextAccessor, IOptions <RaccoonLogHttpOptions> options) { _options = options.Value; _logMessageFactory = logMessageFactory; _httpContextAccessor = httpContextAccessor; }
public DefaultHttpRequestLogHandler(IHttpLogMessageFactory logMessageFactory, IHttpRequestLogFormHandler formContentHandler, IOptions <RaccoonLogHttpOptions> options) { _options = options.Value; _formContentHandler = formContentHandler; _logMessageFactory = logMessageFactory; }
public FileStore(IHostEnvironment environment, IOptions <RaccoonLogHttpOptions> logHttpOptions, IOptions <FileStoreOptions> options, IFileSystem fileSystem , ILogger <FileStore> logger) { _environment = environment; _storeOptions = options.Value; _fileSystem = fileSystem; _options = logHttpOptions.Value; _logger = logger; }
public void CreateResponseLogProtectsHttpResponseSensitiveData() { var option = new RaccoonLogHttpOptions(); option.Response.SensitiveData.Headers.Add("X-Custom"); _options.Setup(o => o.Value).Returns(option); var factory = new HttpLogMessageFactory(_options.Object, NullProtector.Value); var context = new DefaultHttpContext(); var response = new FakeHttpResponse(); context.Features.Set <IHttpResponseFeature>(response); var responseLog = factory.Create(context.Response); Assert.NotEqual(responseLog.Headers.First(h => h.Key == "X-Custom").Value, context.Response.Headers["X-Custom"].ToString()); }
public async Task HttpLogRequestProtectsMapsFormBody() { var option = new RaccoonLogHttpOptions(); option.Request.SensitiveData.Forms.Add("age"); options.Setup(o => o.Value).Returns(option); var handler = new DefaultHttpRequestLogFormHandler(options.Object, NullProtector.Value); var context = new DefaultHttpContext(); context.Features.Set <IFormFeature>(FakeForm.Value); var requestLog = new HttpRequestLog(UrlLog.Default, null, null, null, null); await handler.Handle(context.Request, requestLog); var body = (requestLog.Body as FormLog); Assert.NotEqual(body.Form.First(f => f.Key == "age").Value, context.Request.Form["age"]); }
public void CreateRequestLogProtectsHttpRequestSensitiveData() { var option = new RaccoonLogHttpOptions(); option.Request.SensitiveData.Parameters.Add("name"); option.Request.SensitiveData.Headers.Add("X-Custom"); option.Request.SensitiveData.Cookies.Add("auth_token"); _options.Setup(o => o.Value).Returns(option); var factory = new HttpLogMessageFactory(_options.Object, NullProtector.Value); var context = new DefaultHttpContext(); var request = new FakeHttpRequest(); var cookies = new FakeRequestCookies(); context.Features.Set <IHttpRequestFeature>(request); context.Features.Set <IRequestCookiesFeature>(cookies); var requestLog = factory.Create(context.Request); Assert.NotEqual(requestLog.Headers.First(h => h.Key == "X-Custom").Value, context.Request.Headers["X-Custom"].ToString()); Assert.NotEqual(requestLog.Cookies.First(h => h.Key == "auth_token").Value, context.Request.Cookies["auth_token"]); Assert.NotEqual(requestLog.Url.Parameters.First(h => h.Key == "name").Value, context.Request.Query["name"].ToString()); }
public DefaultHttpRequestLogFormHandler(IOptions <RaccoonLogHttpOptions> options, IDataProtector dataProtector) { _options = options.Value; _dataProtector = dataProtector; }