} // 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
示例#3
0
 static LetsEncryptChallengeApprovalMiddleware()
 {
     s_lenMagicPrefix     = MagicPrefix.Length;
     s_acmePrefixSegments = new Microsoft.AspNetCore.Http.PathString(MagicPrefix);
 }