示例#1
0
 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;
 }
示例#3
0
 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());
        }
示例#7
0
 public DefaultHttpRequestLogFormHandler(IOptions <RaccoonLogHttpOptions> options, IDataProtector dataProtector)
 {
     _options       = options.Value;
     _dataProtector = dataProtector;
 }