0001 import Foundation 0002 0003 protocol Handler{ 0004 0005 func handle
Application.swift:37 func dispatch(request request: Request, response: Response, handlers: [Handler]?) {Application.swift:44 func handleMiddleware(handlers: [Handler], request: Request, response: Response) {Application.swift:111 func handleRoutes(routes: [Handler], request: Request, response: Response) {HandlerManager.swift:16 let pathTree: PathTree<Handler>HandlerManager.swift:20 pathTree = PathTree<Handler>()HandlerManager.swift:37 func register(handler: Handler) {HandlerManager.swift:42 func register(method: String?, handler: Handler) {HandlerManager.swift:54 func routeSingle(request: Request) -> Handler? {HandlerManager.swift:73 func route(request: Request) -> [Handler] {Middleware.swift:19 extension MiddlewareHandler: Handler {Middleware.swift:39 extension MiddlewareClosureHandler: Handler {Route.swift:70 extension Route: Handler {(request request: Request, response: Response, next: (() -> ())) 0006 0007 var path
Application.swift:50 handler.handle(request: request, response: response) {Application.swift:114 route.handle(request: request, response: response) {: String { get } 0008 0009 } 0010 0011 final class HandlerManager
HandlerManager.swift:38 let path = "*/" + handler.pathHandlerManager.swift:46 path = method + "/" + handler.pathHandlerManager.swift:48 path = "*/" + handler.path<T: Handler> { 0012 0013 let allowsMultiples
Application.swift:8 private let middlewareManager: HandlerManager<MiddlewareHandler>Application.swift:10 private let routeManager: HandlerManager<Route>Application.swift:25 middlewareManager = HandlerManager<MiddlewareHandler>(allowsMultiplesPerPath: true)Application.swift:26 routeManager = HandlerManager<Route>(allowsMultiplesPerPath: false)HandlerManager.swift:25 extension HandlerManager {: Bool 0014 0015 let pathTree
HandlerManager.swift:19 allowsMultiples = allowsMultiplesPerPathHandlerManager.swift:39 pathTree.addHandler(handler, toPath: path, overwrite: !allowsMultiples)HandlerManager.swift:51 pathTree.addHandler(handler, toPath: path, overwrite: allowsMultiples): PathTree<Handler> 0016 0017 init(allowsMultiplesPerPath: Bool) { 0018 allowsMultiples = allowsMultiplesPerPath 0019 pathTree = PathTree<Handler>() 0020 } 0021 0022 } 0023 0024 extension HandlerManager { 0025 0026 func paramsForPath
HandlerManager.swift:20 pathTree = PathTree<Handler>()HandlerManager.swift:34 return pathTree.paramsForPath(fullPath)HandlerManager.swift:39 pathTree.addHandler(handler, toPath: path, overwrite: !allowsMultiples)HandlerManager.swift:51 pathTree.addHandler(handler, toPath: path, overwrite: allowsMultiples)HandlerManager.swift:64 let result = pathTree.findValue(path)HandlerManager.swift:83 let result = pathTree.findValues(path)(method: String?, path: String) -> [String: String] { 0027 let fullPath: String 0028 if let method = method { 0029 fullPath = method + "/" + path 0030 } else { 0031 fullPath = "*/" + path 0032 } 0033 return pathTree.paramsForPath(fullPath) 0034 } 0035 0036 func register
Application.swift:56 let params = routeManager.paramsForPath(request.method.rawValue, path: request.path)(handler: Handler) { 0037 let path = "*/" + handler.path 0038 pathTree.addHandler(handler, toPath: path, overwrite: !allowsMultiples) 0039 } 0040 0041 func register
Application.swift:206 middlewareManager.register(handler)Application.swift:217 middlewareManager.register(middlewareHandler)(method: String?, handler: Handler) { 0042 let path: String 0043 0044 if let method = method { 0045 path = method + "/" + handler.path 0046 } else { 0047 path = "*/" + handler.path 0048 } 0049 0050 pathTree.addHandler(handler, toPath: path, overwrite: allowsMultiples) 0051 } 0052 0053 func routeSingle
Application.swift:124 self.routeManager.register(route.method.rawValue, handler: route)(request: Request) -> Handler? { 0054 0055 let path: String 0056 0057 if request.method != Request.Method.Unknown { 0058 path = request.method.rawValue + "/" + request.path 0059 } else { 0060 path = "*/" + request.path 0061 } 0062 0063 let result = pathTree.findValue(path) 0064 0065 for (key, value) in result.params { 0066 request.params[key] = value 0067 } 0068 0069 return result.handler 0070 } 0071 0072 func route
Application.swift:101 if let result = routeManager.routeSingle(request) {(request: Request) -> [Handler] { 0073 0074 let path: String 0075 0076 if request.method != Request.Method.Unknown { 0077 path = request.method.rawValue + "/" + request.path 0078 } else { 0079 path = "*/" + request.path 0080 } 0081 0082 let result = pathTree.findValues(path) 0083 0084 for (key, value) in result.params { 0085 request.params[key] = value 0086 } 0087 0088 return result.handlers 0089 } 0090 } 0091 0092
Application.swift:39 let handlers = middlewareManager.route(request)