// // DelegatingResponse.swift // TuskerUITests // // Created by Shadowfacts on 12/31/19. // Copyright © 2019 Shadowfacts. All rights reserved. // import Foundation import Ambassador struct DelegatingResponse: WebApp { let handler: (_ ctx: Context) -> WebApp func app(_ environ: [String : Any], startResponse: @escaping ((String, [(String, String)]) -> Void), sendBody: @escaping ((Data) -> Void)) { let ctx = Context(environ: environ) handler(ctx).app(environ, startResponse: startResponse, sendBody: sendBody) } } extension DelegatingResponse { struct Context { let environ: [String: Any] var captures: [String] { environ["ambassador.router_captures"] as? [String] ?? [] } } }