public async Task ReadRequestBodyAsync_GivenValidContext_ExpectSuccessfulResultWithData() { var csp = new CspPost { CspReport = new CspReport { Referrer = "referrer", BlockedUri = "blocked-uri", SourceFile = "source-file", }, }; var cspReportBodyFormatter = new CspReportBodyFormatter(); var httpContext = new DefaultHttpContext(); httpContext.Request.ContentType = "application/csp-report"; var stream = new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(csp))); httpContext.Request.Body = stream; httpContext.Request.ContentLength = stream.Length; var result = await cspReportBodyFormatter.ReadRequestBodyAsync(CreateInputFormatterContext( typeof(CspPost), httpContext)); Assert.False(result.HasError); Assert.IsType <CspPost>(result.Model); }
public IActionResult Report([FromBody] CspPost report) { this._logger.LogCritical("CSP Violation: {Report}", report); return(this.Ok()); }