(httpApp: App.Default<E, R>, middleware?: Middleware.HttpMiddleware)
| 134 | Exclude<Effect.Effect.Context<App>, ServerRequest.HttpServerRequest | Scope.Scope> |
| 135 | > |
| 136 | } = <E, R>(httpApp: App.Default<E, R>, middleware?: Middleware.HttpMiddleware) => { |
| 137 | const handledApp = App.toHandled(httpApp, handleResponse, middleware) |
| 138 | return Effect.map(Effect.runtime<R>(), (runtime) => { |
| 139 | const runFork = Runtime.runFork(runtime) |
| 140 | return function handler( |
| 141 | nodeRequest: Http.IncomingMessage, |
| 142 | nodeResponse: Http.ServerResponse |
| 143 | ) { |
| 144 | const fiber = runFork( |
| 145 | Effect.provideService( |
| 146 | handledApp, |
| 147 | ServerRequest.HttpServerRequest, |
| 148 | new ServerRequestImpl(nodeRequest, nodeResponse) |
| 149 | ) |
| 150 | ) |
| 151 | nodeResponse.on("close", () => { |
| 152 | if (!nodeResponse.writableEnded) { |
| 153 | fiber.unsafeInterruptAsFork(Error.clientAbortFiberId) |
| 154 | } |
| 155 | }) |
| 156 | } |
| 157 | }) |
| 158 | } |
| 159 | |
| 160 | /** @internal */ |
| 161 | export const makeUpgradeHandler = <R, E>( |
no test coverage detected