diff --git a/src/Orchard/Owin/IOwinMiddlewareProvider.cs b/src/Orchard/Owin/IOwinMiddlewareProvider.cs index e7a274e91..be65ad426 100644 --- a/src/Orchard/Owin/IOwinMiddlewareProvider.cs +++ b/src/Orchard/Owin/IOwinMiddlewareProvider.cs @@ -1,7 +1,18 @@ using System.Collections.Generic; namespace Orchard.Owin { + /// + /// Represents a provider that makes Owin middlewares available for the Orchard Owin pipeline. + /// + /// + /// If you want to write an Owin middleware and inject it into the Orchard Owin pipeline, implement this interface. For more information + /// about Owin http://owin.org/. + /// public interface IOwinMiddlewareProvider : IDependency { + /// + /// Gets Owin middlewares that will be injected into the Orchard Owin pipeline. + /// + /// Owin middlewares that will be injected into the Orchard Owin pipeline. IEnumerable GetOwinMiddlewares(); } } \ No newline at end of file diff --git a/src/Orchard/Owin/OrchardMiddleware.cs b/src/Orchard/Owin/OrchardMiddleware.cs index 69d6bfe38..611bfc5d1 100644 --- a/src/Orchard/Owin/OrchardMiddleware.cs +++ b/src/Orchard/Owin/OrchardMiddleware.cs @@ -3,6 +3,9 @@ using System.Threading.Tasks; using Owin; namespace Orchard.Owin { + /// + /// A special Owin middleware that is executed last in the Owin pipeline and runs the non-Owin part of the request. + /// public static class OrchardMiddleware { public static IAppBuilder UseOrchard(this IAppBuilder app) { app.Use(async (context, next) => { diff --git a/src/Orchard/Owin/OwinMiddleware.cs b/src/Orchard/Owin/OwinMiddleware.cs index 9a9784d9b..2b8330afd 100644 --- a/src/Orchard/Owin/OwinMiddleware.cs +++ b/src/Orchard/Owin/OwinMiddleware.cs @@ -2,8 +2,22 @@ using Owin; namespace Orchard.Owin { + /// + /// An Owin middleware representation that can make changes to the Owin pipeline, like registering middlewares to be injected into the Orchard + /// Owin pipeline. + /// public class OwinMiddleware { + /// + /// Gets or sets the delegate that you can use to make changes to the Owin pipeline, like registering middlewares to be injected into + /// the Orchard Owin pipeline. + /// public Action Configure { get; set; } + + /// + /// Gets or sets the priority value that decides the order in which such objects are processed. I.e. "0" will run before "10", + /// but middlewares without a priority value will run before the ones that have it set. + /// Note that this priority notation is the same as the one for shape placement (so you can e.g. use ":before"). + /// public string Priority { get; set; } } } diff --git a/src/Orchard/Owin/Startup.cs b/src/Orchard/Owin/Startup.cs index 456bed044..aac67855e 100644 --- a/src/Orchard/Owin/Startup.cs +++ b/src/Orchard/Owin/Startup.cs @@ -1,6 +1,10 @@ using Owin; namespace Orchard.Owin { + /// + /// The entry point for the Owin pipeline that doesn't really do anything on its own but is necessary for bootstrapping. + /// + /// Also, startups are hip nowadays. public class Startup { public void Configuration(IAppBuilder app) { app.Use((context, next) => {