Skip to content

Commit fc9648d

Browse files
authored
Fix middlewares init (#23)
1 parent b3de7fd commit fc9648d

File tree

1 file changed

+30
-30
lines changed

1 file changed

+30
-30
lines changed

Sources/Example/Example.swift

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -62,33 +62,33 @@ struct Example {
6262

6363
// This has to be commented out because of the compiler bug above. Workaround doesn't apply here.
6464

65-
//@available(macOS 26.0, iOS 26.0, watchOS 26.0, tvOS 26.0, visionOS 26.0, *)
66-
//extension Server {
67-
// /// Serve HTTP requests using a middleware chain built with the provided builder
68-
// /// This method handles the type inference for HTTP middleware components
69-
// static func serve(
70-
// logger: Logger,
71-
// configuration: HTTPServerConfiguration,
72-
// @MiddlewareChainBuilder
73-
// withMiddleware middlewareBuilder: () -> some Middleware<
74-
// RequestResponseContext<
75-
// HTTPRequestConcludingAsyncReader,
76-
// HTTPResponseConcludingAsyncWriter
77-
// >,
78-
// Never
79-
// > & Sendable
80-
// ) async throws where RequestHandler == HTTPServerClosureRequestHandler {
81-
// let chain = middlewareBuilder()
82-
//
83-
// try await serve(
84-
// logger: logger,
85-
// configuration: configuration
86-
// ) { request, reader, responseSender in
87-
// try await chain.intercept(input: RequestResponseContext(
88-
// request: request,
89-
// requestReader: reader,
90-
// responseSender: responseSender
91-
// )) { _ in }
92-
// }
93-
// }
94-
//}
65+
@available(macOS 26.0, iOS 26.0, watchOS 26.0, tvOS 26.0, visionOS 26.0, *)
66+
extension Server {
67+
/// Serve HTTP requests using a middleware chain built with the provided builder
68+
/// This method handles the type inference for HTTP middleware components
69+
static func serve(
70+
logger: Logger,
71+
configuration: HTTPServerConfiguration,
72+
@MiddlewareChainBuilder
73+
withMiddleware middlewareBuilder: () -> some Middleware<
74+
RequestResponseMiddlewareBox<
75+
HTTPRequestConcludingAsyncReader,
76+
HTTPResponseConcludingAsyncWriter
77+
>,
78+
Never
79+
> & Sendable
80+
) async throws where RequestHandler == HTTPServerClosureRequestHandler {
81+
let chain = middlewareBuilder()
82+
83+
try await serve(
84+
logger: logger,
85+
configuration: configuration
86+
) { request, reader, responseSender in
87+
try await chain.intercept(input: RequestResponseMiddlewareBox(
88+
request: request,
89+
requestReader: reader,
90+
responseSender: responseSender
91+
)) { _ in }
92+
}
93+
}
94+
}

0 commit comments

Comments
 (0)