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()