From 951dcbebb78ffec2f016b75be334d28b6ce7ce03 Mon Sep 17 00:00:00 2001 From: Chris Ross Date: Wed, 19 Mar 2014 11:35:24 -0700 Subject: [PATCH] Add IServerInformation to IBuilder. --- src/Microsoft.AspNet.Abstractions/IBuilder.cs | 1 + src/Microsoft.AspNet.Abstractions/IServerInformation.cs | 9 +++++++++ src/Microsoft.AspNet.PipelineCore/Builder.cs | 9 ++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 src/Microsoft.AspNet.Abstractions/IServerInformation.cs diff --git a/src/Microsoft.AspNet.Abstractions/IBuilder.cs b/src/Microsoft.AspNet.Abstractions/IBuilder.cs index 5699bed1b4..ce79cc7251 100644 --- a/src/Microsoft.AspNet.Abstractions/IBuilder.cs +++ b/src/Microsoft.AspNet.Abstractions/IBuilder.cs @@ -5,6 +5,7 @@ namespace Microsoft.AspNet.Abstractions public interface IBuilder { IServiceProvider ServiceProvider { get; set; } + IServerInformation Server { get; set; } IBuilder Use(Func middleware); IBuilder Run(RequestDelegate handler); diff --git a/src/Microsoft.AspNet.Abstractions/IServerInformation.cs b/src/Microsoft.AspNet.Abstractions/IServerInformation.cs new file mode 100644 index 0000000000..47784e3782 --- /dev/null +++ b/src/Microsoft.AspNet.Abstractions/IServerInformation.cs @@ -0,0 +1,9 @@ + +namespace Microsoft.AspNet.Abstractions +{ + // TODO: [AssemblyNeutral] + public interface IServerInformation + { + string Name { get; } + } +} diff --git a/src/Microsoft.AspNet.PipelineCore/Builder.cs b/src/Microsoft.AspNet.PipelineCore/Builder.cs index 48edba1ce2..d88711a05c 100644 --- a/src/Microsoft.AspNet.PipelineCore/Builder.cs +++ b/src/Microsoft.AspNet.PipelineCore/Builder.cs @@ -14,7 +14,14 @@ namespace Microsoft.AspNet.PipelineCore ServiceProvider = serviceProvider; } + internal Builder(Builder builder) + { + ServiceProvider = builder.ServiceProvider; + Server = builder.Server; + } + public IServiceProvider ServiceProvider { get; set; } + public IServerInformation Server { get; set; } public IBuilder Use(Func middleware) { @@ -29,7 +36,7 @@ namespace Microsoft.AspNet.PipelineCore public IBuilder New() { - return new Builder(ServiceProvider); + return new Builder(this); } public RequestDelegate Build()