} // End Sub UseTable public static void UseFileContents(this Microsoft.AspNetCore.Builder.IApplicationBuilder app, string path) { Microsoft.AspNetCore.Http.PathString ps = new Microsoft.AspNetCore.Http.PathString(path); app.Use(async(context, next) => { if (context.Request.Path == ps) { string filePath = context.Request.Query["file"].ToString(); string content = await System.IO.File.ReadAllTextAsync(filePath); context.Response.StatusCode = 200; context.Response.ContentType = "text/plain; charset=utf-8"; await context.Response.WriteAsync(content); } else { await next(); } }); } // End Sub UseTable
} // End Task GetTableAsync public static void UseTable(this Microsoft.AspNetCore.Builder.IApplicationBuilder app, string path) { Microsoft.AspNetCore.Http.PathString ps = new Microsoft.AspNetCore.Http.PathString(path); app.Use(async(context, next) => { if (context.Request.Path == ps) { if (context.WebSockets.IsWebSocketRequest) { System.Net.WebSockets.WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync(); await GetTableAsync(context, webSocket); } else { context.Response.StatusCode = 400; } } else { await next(); } }); } // End Sub UseTable
static LetsEncryptChallengeApprovalMiddleware() { s_lenMagicPrefix = MagicPrefix.Length; s_acmePrefixSegments = new Microsoft.AspNetCore.Http.PathString(MagicPrefix); }