public static void UseDefaultMiddleware(this IApplicationBuilder app, IHostingEnvironment env) { if (!env.IsDevelopment()) { // Adjust headers for proxy. // ref: https://github.com/aspnet/Docs/issues/2384 var forwardOptions = new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto, RequireHeaderSymmetry = false }; forwardOptions.KnownNetworks.Clear(); forwardOptions.KnownProxies.Clear(); app.UseForwardedHeaders(forwardOptions); } // Add version information to response headers app.Use(async(httpContext, next) => { httpContext.Response.OnStarting((state) => { httpContext.Response.Headers.Append("Server-Version", CoreHelpers.GetVersion()); return(Task.FromResult(0)); }, null); await next.Invoke(); }); }
public static void UseDefaultMiddleware(this IApplicationBuilder app, IHostingEnvironment env) { // Add version information to response headers app.Use(async(httpContext, next) => { httpContext.Response.OnStarting((state) => { httpContext.Response.Headers.Append("Server-Version", CoreHelpers.GetVersion()); return(Task.FromResult(0)); }, null); await next.Invoke(); }); }
public static void UseDefaultMiddleware(this IApplicationBuilder app, IHostingEnvironment env, GlobalSettings globalSettings) { string GetHeaderValue(HttpContext httpContext, string header) { if (httpContext.Request.Headers.ContainsKey(header)) { return(httpContext.Request.Headers[header]); } return(null); } // Add version information to response headers app.Use(async(httpContext, next) => { using (LogContext.PushProperty("IPAddress", httpContext.GetIpAddress(globalSettings))) using (LogContext.PushProperty("UserAgent", GetHeaderValue(httpContext, "user-agent"))) using (LogContext.PushProperty("DeviceType", GetHeaderValue(httpContext, "device-type"))) using (LogContext.PushProperty("Origin", GetHeaderValue(httpContext, "origin"))) { httpContext.Response.OnStarting((state) => { httpContext.Response.Headers.Append("Server-Version", CoreHelpers.GetVersion()); return(Task.FromResult(0)); }, null); await next.Invoke(); } }); }