diff --git a/src/Microsoft.AspNet.Abstractions/Extensions/UseExtensions.cs b/src/Microsoft.AspNet.Abstractions/Extensions/UseExtensions.cs new file mode 100644 index 0000000000..698b19ca5c --- /dev/null +++ b/src/Microsoft.AspNet.Abstractions/Extensions/UseExtensions.cs @@ -0,0 +1,27 @@ +using System; +using System.Threading.Tasks; +using Microsoft.AspNet.Abstractions; + +namespace Microsoft.AspNet +{ + public static class UseExtensions + { + /// + /// Use middleware defined in-line. + /// + /// + /// A function that handles the request or calls the given next function. + /// + public static IBuilder Use(this IBuilder app, Func, Task> middleware) + { + return app.Use(next => + { + return context => + { + Func simpleNext = () => next(context); + return middleware(context, simpleNext); + }; + }); + } + } +} \ No newline at end of file diff --git a/src/Microsoft.AspNet.Abstractions/Microsoft.AspNet.Abstractions.kproj b/src/Microsoft.AspNet.Abstractions/Microsoft.AspNet.Abstractions.kproj index 83c250addc..0b62b9b387 100644 --- a/src/Microsoft.AspNet.Abstractions/Microsoft.AspNet.Abstractions.kproj +++ b/src/Microsoft.AspNet.Abstractions/Microsoft.AspNet.Abstractions.kproj @@ -28,6 +28,7 @@ +