// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Collections.Generic; using Microsoft.AspNet.Http; using Microsoft.AspNet.Http.Features; namespace Microsoft.AspNet.Builder { /// /// Defines a class that provides the mechanisms to configure an application's request pipeline. /// public interface IApplicationBuilder { /// /// Gets or sets the that provides access to the application's service container. /// IServiceProvider ApplicationServices { get; set; } /// /// Gets the set of HTTP features the application's server provides. /// IFeatureCollection ServerFeatures { get; } /// /// Gets a key/value collection that can be used to share data between middleware. /// IDictionary Properties { get; } /// /// Adds a middleware delegate to the application's request pipeline. /// /// The middleware delgate. /// The . IApplicationBuilder Use(Func middleware); /// /// Creates a new that shares the of this /// . /// /// The new . IApplicationBuilder New(); /// /// Builds the delegate used by this application to process HTTP requests. /// /// The request handling delegate. RequestDelegate Build(); } }