/// <summary> /// Adds a Feature Policy headerto the response. /// See https://github.com/WICG/feature-policy/blob/master/features.md for more information /// </summary> /// <param name="app">The <see cref="IApplicationBuilder"/></param> /// <param name="builderAction">Configuration action for the header.</param> /// <returns>The <see cref="IApplicationBuilder"/></returns> public static IApplicationBuilder UseFeaturePolicy(this IApplicationBuilder app, Action <FeaturePolicyBuilder> builderAction) { var builder = new FeaturePolicyBuilder(); builderAction(builder); var options = builder.BuildFeaturePolicyOptions(); return(app.UseMiddleware <FeaturePolicyMiddleware>(new OptionsWrapper <FeaturePolicyOptions>(options))); }
public void PaymentFromNowhere_SetsValue() { var builder = new FeaturePolicyBuilder(); builder.AllowPayment.FromNowhere(); var options = builder.BuildFeaturePolicyOptions(); string headerValue = options.ToString(); Assert.Equal("payment 'none'", headerValue); }
public void OtherNewFeatureFromSelf_SetsValue() { var builder = new FeaturePolicyBuilder(); builder.AllowOtherFeature("new-feature").FromSelf(); var options = builder.BuildFeaturePolicyOptions(); string headerValue = options.ToString(); Assert.Equal("new-feature 'self'", headerValue); }
public void PaymentFromSelfAndGoogle_SetsValue() { var builder = new FeaturePolicyBuilder(); builder.AllowPayment.FromSelf().From("https://www.google.com"); var options = builder.BuildFeaturePolicyOptions(); string headerValue = options.ToString(); Assert.Equal("payment 'self' https://www.google.com", headerValue); }
public void PaymentFromNowhereAndFullScreenFromSelf_SetsValue() { var builder = new FeaturePolicyBuilder(); builder.AllowPayment.FromNowhere(); builder.AllowFullscreen.FromSelf(); var options = builder.BuildFeaturePolicyOptions(); string headerValue = options.ToString(); Assert.Equal("fullscreen 'self'; payment 'none'", headerValue); }