0001    //
0002    //  Application.swift
0003    //  Kunugi
0004    //
0005    //  Created by ito on 1/3/16.
0006    //  Copyright © 2016 Yusuke Ito. All rights reserved.
0007    //
0008    
0009    public protocol AppType
Application.swift:15
public extension AppType {
{ 0010 var wrap
Application.swift:20
            for m in self.wrap.reverse() {
: [WrapMiddleware] { get } 0011 var middleware
Application.swift:19
            var current = compose(self.middleware)
: [MiddlewareType] { get } 0012 var handler: MiddlewareType { get } 0013 } 0014 0015 public extension AppType { 0016 0017 var handler: MiddlewareType { 0018 return GenericMiddleware { ctx in 0019 var current = compose(self.middleware) 0020 for m in self.wrap.reverse() { 0021 current = GenericMiddleware(handler: m.genHandler(current)) 0022 } 0023 return try current.handleIfNeeded(ctx) 0024 } 0025 } 0026 0027 }