Skip to content

Commit 25bd385

Browse files
committed
swift-format
1 parent c995f01 commit 25bd385

File tree

4 files changed

+60
-15
lines changed

4 files changed

+60
-15
lines changed

Sources/Middleware/LoggingMiddleware.swift

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,37 @@ import OpenAPIRuntime
2121
/// Only active at .trace level
2222
public struct LoggingMiddleware: ServerMiddleware {
2323

24-
private let logger: Logger
25-
public init(logger: Logger) {
26-
self.logger = logger
27-
}
24+
private let logger: Logger
2825

26+
/// A middleware that logs request and response metadata.
27+
/// Only active at .trace level
28+
///
29+
/// - Parameters:
30+
/// - logger: The logger instance to use for logging request/response data
31+
///
32+
/// - Note: This middleware only logs at .trace level and will not generate output at other log levels
33+
///
34+
public init(logger: Logger) {
35+
self.logger = logger
36+
}
37+
38+
/// Intercepts HTTP requests and logs request/response metadata at trace level.
39+
///
40+
/// - Parameters:
41+
/// - request: The incoming HTTP request
42+
/// - body: The request body, if any
43+
/// - metadata: Metadata associated with the request
44+
/// - operationID: The OpenAPI operation ID for this request
45+
/// - next: The next middleware/handler in the chain
46+
///
47+
/// - Returns: A tuple containing the HTTP response and optional response body
48+
///
49+
/// - Throws: Rethrows any errors from downstream handlers
50+
///
51+
/// This method logs:
52+
/// - The request method and path on entry
53+
/// - The response status code on successful completion
54+
/// - Error descriptions if an error occurs
2955
public func intercept(
3056
_ request: HTTPRequest,
3157
body: HTTPBody?,
@@ -39,7 +65,8 @@ public struct LoggingMiddleware: ServerMiddleware {
3965
let (response, responseBody) = try await next(request, body, metadata)
4066
logger.trace("<<<: \(response.status.code)")
4167
return (response, responseBody)
42-
} catch {
68+
}
69+
catch {
4370
logger.trace("!!!: \(error.localizedDescription)")
4471
throw error
4572
}

Sources/OpenAPILambdaHandler.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@ public struct OpenAPILambdaHandler<OALS: OpenAPILambdaService>: LambdaHandler, S
9191
catch OpenAPILambdaRouterError.noRouteForPath(let method, let path) {
9292

9393
// There is no hadler registered for this path. This is a programming error.
94-
lambdaResponse = (HTTPResponse(status: .notFound), "There is no route registered for the path \(method) \(path)")
94+
lambdaResponse = (
95+
HTTPResponse(status: .notFound), "There is no route registered for the path \(method) \(path)"
96+
)
9597

9698
}
9799
catch OpenAPILambdaHttpError.invalidMethod(let method) {

Sources/OpenAPILambdaService.swift

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public protocol OpenAPILambdaService: Sendable {
2828
///
2929
/// This is where your OpenAPILambdaService implementation must register the transport
3030
func register(transport: OpenAPILambdaTransport) throws
31-
31+
3232
/// Convert from `Event` type to `OpenAPILambdaRequest`
3333
/// - Parameters:
3434
/// - context: Lambda context
@@ -54,5 +54,3 @@ extension OpenAPILambdaService {
5454
try await lambdaRuntime.run()
5555
}
5656
}
57-
58-

Sources/Router/OpenAPILambdaRouterTrie.swift

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,33 +32,51 @@ final class TrieRouter: OpenAPILambdaRouter, CustomStringConvertible {
3232
) {
3333
try self.uriPath.withLock { try $0.find(method: method, path: path) }
3434
}
35-
35+
3636
var description: String {
3737
uriPath.withLock { uriPath in
3838
var routes: [String] = []
3939
collectRoutes(from: uriPath.root(), method: nil, path: "", parameters: [], routes: &routes)
4040
return routes.joined(separator: "\n")
4141
}
4242
}
43-
44-
private func collectRoutes(from node: Node, method: HTTPRequest.Method?, path: String, parameters: [String], routes: inout [String]) {
43+
44+
private func collectRoutes(
45+
from node: Node,
46+
method: HTTPRequest.Method?,
47+
path: String,
48+
parameters: [String],
49+
routes: inout [String]
50+
) {
4551
// If this node has a handler, we found a complete route
4652
if let _ = node.handlerChild(), let method = method {
4753
let paramString = parameters.isEmpty ? "" : " " + parameters.map { "\($0)=value" }.joined(separator: " ")
4854
routes.append("\(method.rawValue) \(path)\(paramString)")
4955
}
50-
56+
5157
// Traverse all children
5258
for (_, child) in node.children {
5359
switch child.value {
5460
case .httpMethod(let httpMethod):
5561
collectRoutes(from: child, method: httpMethod, path: path, parameters: parameters, routes: &routes)
5662
case .pathElement(let element):
57-
collectRoutes(from: child, method: method, path: path + "/" + element, parameters: parameters, routes: &routes)
63+
collectRoutes(
64+
from: child,
65+
method: method,
66+
path: path + "/" + element,
67+
parameters: parameters,
68+
routes: &routes
69+
)
5870
case .pathParameter(let param):
5971
var newParams = parameters
6072
newParams.append(param)
61-
collectRoutes(from: child, method: method, path: path + "/{\(param)}", parameters: newParams, routes: &routes)
73+
collectRoutes(
74+
from: child,
75+
method: method,
76+
path: path + "/{\(param)}",
77+
parameters: newParams,
78+
routes: &routes
79+
)
6280
case .handler, .root:
6381
collectRoutes(from: child, method: method, path: path, parameters: parameters, routes: &routes)
6482
}

0 commit comments

Comments
 (0)