public void SetItem_SetsItem() { _contextWrapper.SetItem("someItem", "MyValue"); Assert.Equal("MyValue", _httpContextBase.Items["someItem"]); _contextWrapper.SetItem <string>("someItem", null); Assert.Null(_httpContextBase.Items["someItem"]); }
/// <summary> /// Generates a CSP nonce HTML attribute. The 120-bit random nonce will be included in the CSP style-src directive. /// </summary> /// <param name="helper"></param> public static IHtmlString CspStyleNonce(this HtmlHelper helper) { var context = new HttpContextWrapper(helper.ViewContext.HttpContext); var cspConfigurationOverrideHelper = new CspConfigurationOverrideHelper(); var headerOverrideHelper = new HeaderOverrideHelper(new CspReportHelper()); var nonce = cspConfigurationOverrideHelper.GetCspStyleNonce(context); if (context.GetItem <string>("NWebsecStyleNonceSet") == null) { context.SetItem("NWebsecStyleNonceSet", "set"); headerOverrideHelper.SetCspHeaders(context, false); headerOverrideHelper.SetCspHeaders(context, true); } return(CreateNonceAttribute(helper, nonce)); }