From 4815e037dd9cac4b80fa83586c3cd3e68e5f2e75 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Mon, 13 Jul 2015 07:55:54 -0700 Subject: [PATCH] Added Elm page sample --- DiagnosticsPages.sln | 17 ++++++++++- samples/ElmPageSample/ElmPageSample.xproj | 19 ++++++++++++ samples/ElmPageSample/HelloWorldMiddleware.cs | 30 +++++++++++++++++++ samples/ElmPageSample/Startup.cs | 28 +++++++++++++++++ samples/ElmPageSample/project.json | 17 +++++++++++ samples/ElmPageSample/wwwroot/error.html | 12 ++++++++ .../Views/DetailsPage.cs | 2 ++ .../Views/LogPage.cs | 2 ++ 8 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 samples/ElmPageSample/ElmPageSample.xproj create mode 100644 samples/ElmPageSample/HelloWorldMiddleware.cs create mode 100644 samples/ElmPageSample/Startup.cs create mode 100644 samples/ElmPageSample/project.json create mode 100644 samples/ElmPageSample/wwwroot/error.html diff --git a/DiagnosticsPages.sln b/DiagnosticsPages.sln index f893c1dfb7..05042e2643 100644 --- a/DiagnosticsPages.sln +++ b/DiagnosticsPages.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.22823.1 +VisualStudioVersion = 14.0.23107.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{509A6F36-AD80-4A18-B5B1-717D38DFF29D}" EndProject @@ -40,6 +40,8 @@ Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "StatusCodePagesSample", "sa EndProject Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Microsoft.AspNet.Diagnostics.Abstractions", "src\Microsoft.AspNet.Diagnostics.Abstractions\Microsoft.AspNet.Diagnostics.Abstractions.xproj", "{83FFB65A-97B1-45AA-BCB8-3F43966BC8A3}" EndProject +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ElmPageSample", "samples\ElmPageSample\ElmPageSample.xproj", "{FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -192,6 +194,18 @@ Global {83FFB65A-97B1-45AA-BCB8-3F43966BC8A3}.Release|Mixed Platforms.Build.0 = Release|Any CPU {83FFB65A-97B1-45AA-BCB8-3F43966BC8A3}.Release|x86.ActiveCfg = Release|Any CPU {83FFB65A-97B1-45AA-BCB8-3F43966BC8A3}.Release|x86.Build.0 = Release|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Debug|x86.ActiveCfg = Debug|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Debug|x86.Build.0 = Debug|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Release|Any CPU.Build.0 = Release|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Release|x86.ActiveCfg = Release|Any CPU + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -210,5 +224,6 @@ Global {624B0019-956A-4157-B008-270C5B229553} = {509A6F36-AD80-4A18-B5B1-717D38DFF29D} {CC1F5841-FE10-4DDB-8477-C4DE92BA759F} = {ACAA0157-A8C4-4152-93DE-90CCDF304087} {83FFB65A-97B1-45AA-BCB8-3F43966BC8A3} = {509A6F36-AD80-4A18-B5B1-717D38DFF29D} + {FFD28DCF-C24F-4C59-9B6B-F3B74CE13129} = {ACAA0157-A8C4-4152-93DE-90CCDF304087} EndGlobalSection EndGlobal diff --git a/samples/ElmPageSample/ElmPageSample.xproj b/samples/ElmPageSample/ElmPageSample.xproj new file mode 100644 index 0000000000..2edc086950 --- /dev/null +++ b/samples/ElmPageSample/ElmPageSample.xproj @@ -0,0 +1,19 @@ + + + + 14.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + ffd28dcf-c24f-4c59-9b6b-f3b74ce13129 + ElmPageSample + ..\..\artifacts\obj\$(MSBuildProjectName) + ..\..\artifacts\bin\$(MSBuildProjectName)\ + + + 2.0 + 42364 + + + \ No newline at end of file diff --git a/samples/ElmPageSample/HelloWorldMiddleware.cs b/samples/ElmPageSample/HelloWorldMiddleware.cs new file mode 100644 index 0000000000..bebf8fa26f --- /dev/null +++ b/samples/ElmPageSample/HelloWorldMiddleware.cs @@ -0,0 +1,30 @@ +using System; +using System.Threading.Tasks; +using Microsoft.AspNet.Builder; +using Microsoft.AspNet.Http; +using Microsoft.Framework.Logging; + +namespace ElmPageSample +{ + public class HelloWorldMiddleware + { + private readonly ILogger _logger; + private readonly RequestDelegate _next; + + public HelloWorldMiddleware(RequestDelegate next, ILoggerFactory loggerFactory) + { + _next = next; + _logger = loggerFactory.CreateLogger(); + } + + public async Task Invoke(HttpContext httpContext) + { + using (_logger.BeginScope("C")) + { + _logger.LogVerbose("Getting message"); + + await httpContext.Response.WriteAsync("Hello World!"); + } + } + } +} \ No newline at end of file diff --git a/samples/ElmPageSample/Startup.cs b/samples/ElmPageSample/Startup.cs new file mode 100644 index 0000000000..f27de5b4b3 --- /dev/null +++ b/samples/ElmPageSample/Startup.cs @@ -0,0 +1,28 @@ +using Microsoft.AspNet.Builder; +using Microsoft.Framework.DependencyInjection; +using Microsoft.Framework.Logging; + +namespace ElmPageSample +{ + public class Startup + { + public void ConfigureServices(IServiceCollection services) + { + services.AddElm(); + + services.ConfigureElm(elmOptions => + { + elmOptions.Filter = (loggerName, loglevel) => loglevel == LogLevel.Verbose; + }); + } + + public void Configure(IApplicationBuilder app) + { + app.UseElmPage(); + + app.UseElmCapture(); + + app.UseMiddleware(); + } + } +} diff --git a/samples/ElmPageSample/project.json b/samples/ElmPageSample/project.json new file mode 100644 index 0000000000..1f3a5a6e08 --- /dev/null +++ b/samples/ElmPageSample/project.json @@ -0,0 +1,17 @@ +{ + "webroot": "wwwroot", + "exclude": "wwwroot/**/*.*", + "dependencies": { + "Microsoft.AspNet.Diagnostics.Elm": "1.0.0-*", + "Microsoft.AspNet.Server.IIS": "1.0.0-*", + "Microsoft.AspNet.Server.WebListener": "1.0.0-*", + "Microsoft.AspNet.StaticFiles": "1.0.0-*" + }, + "commands": { + "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000" + }, + "frameworks": { + "dnx451" : { }, + "dnxcore50" : { } + } +} diff --git a/samples/ElmPageSample/wwwroot/error.html b/samples/ElmPageSample/wwwroot/error.html new file mode 100644 index 0000000000..b9989e017f --- /dev/null +++ b/samples/ElmPageSample/wwwroot/error.html @@ -0,0 +1,12 @@ + + + + + + + + + You've reached the static error page.

+ Home
+ + \ No newline at end of file diff --git a/src/Microsoft.AspNet.Diagnostics.Elm/Views/DetailsPage.cs b/src/Microsoft.AspNet.Diagnostics.Elm/Views/DetailsPage.cs index 52d3684656..c51c693b12 100644 --- a/src/Microsoft.AspNet.Diagnostics.Elm/Views/DetailsPage.cs +++ b/src/Microsoft.AspNet.Diagnostics.Elm/Views/DetailsPage.cs @@ -240,6 +240,8 @@ WriteTo(__razor_helper_writer, Traverse(node.Children[i])); #pragma warning disable 1998 public override async Task ExecuteAsync() { + Response.ContentType = "text/html; charset=utf-8"; + Response.ContentLength = null; // Clear any prior Content-Length WriteLiteral("\r\n"); WriteLiteral("\r\n"); WriteLiteral("\r\n"); diff --git a/src/Microsoft.AspNet.Diagnostics.Elm/Views/LogPage.cs b/src/Microsoft.AspNet.Diagnostics.Elm/Views/LogPage.cs index be1ab6f12f..2de7ff4ec8 100644 --- a/src/Microsoft.AspNet.Diagnostics.Elm/Views/LogPage.cs +++ b/src/Microsoft.AspNet.Diagnostics.Elm/Views/LogPage.cs @@ -306,6 +306,8 @@ WriteTo(__razor_helper_writer, LogRow(new LogInfo() #pragma warning disable 1998 public override async Task ExecuteAsync() { + Response.ContentType = "text/html; charset=utf-8"; + Response.ContentLength = null; // Clear any prior Content-Length WriteLiteral("\r\n"); WriteLiteral("\r\n\r\n"); WriteLiteral("\r\n");