@@ -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