@@ -20,7 +20,6 @@ import HTTPTypes
20
20
/// Specialization of LambdaHandler which runs an OpenAPILambda
21
21
public struct OpenAPILambdaHandler < OALS: OpenAPILambdaService > : LambdaHandler , Sendable {
22
22
23
- private let router : OpenAPILambdaRouter
24
23
private let transport : OpenAPILambdaTransport
25
24
private let openAPIService : OALS
26
25
@@ -38,11 +37,9 @@ public struct OpenAPILambdaHandler<OALS: OpenAPILambdaService>: LambdaHandler, S
38
37
/// - Parameters
39
38
/// - withService: The OpenAPI Lambda service to bind to this Lambda handler function
40
39
public init ( withService openAPILambdaService: OALS ) throws {
41
- self . router = TrieRouter ( )
42
- self . transport = OpenAPILambdaTransport ( router: self . router)
43
-
44
40
self . openAPIService = openAPILambdaService
45
- try self . openAPIService. register ( transport: self . transport)
41
+ self . transport = OpenAPILambdaTransport ( router: TrieRouter ( ) )
42
+ try self . openAPIService. register ( transport: self . transport, middlewares: [ ] )
46
43
}
47
44
48
45
/// The Lambda handling method.
@@ -63,7 +60,7 @@ public struct OpenAPILambdaHandler<OALS: OpenAPILambdaService>: LambdaHandler, S
63
60
let request = try openAPIService. request ( context: context, from: event)
64
61
65
62
// route the request to find the handlers and extract the paramaters
66
- let ( handler, parameters) = try router. route ( method: request. 0 . method, path: request. 0 . path!)
63
+ let ( handler, parameters) = try self . transport . router. route ( method: request. 0 . method, path: request. 0 . path!)
67
64
68
65
// call the request handler (and extract the HTTPRequest and HTTPBody)
69
66
let httpRequest = request. 0
@@ -91,10 +88,10 @@ public struct OpenAPILambdaHandler<OALS: OpenAPILambdaService>: LambdaHandler, S
91
88
lambdaResponse = ( HTTPResponse ( status: . notFound) , " There is no route registered for the method \( method) " )
92
89
93
90
}
94
- catch OpenAPILambdaRouterError . noRouteForPath( let path) {
91
+ catch OpenAPILambdaRouterError . noRouteForPath( let method , let path) {
95
92
96
93
// There is no hadler registered for this path. This is a programming error.
97
- lambdaResponse = ( HTTPResponse ( status: . notFound) , " There is no route registered for the path \( path) " )
94
+ lambdaResponse = ( HTTPResponse ( status: . notFound) , " There is no route registered for the path \( method ) \( path) " )
98
95
99
96
}
100
97
catch OpenAPILambdaHttpError . invalidMethod( let method) {
0 commit comments