diff --git a/.changeset/slimy-pugs-vanish.md b/.changeset/slimy-pugs-vanish.md new file mode 100644 index 0000000000..5b05863aa5 --- /dev/null +++ b/.changeset/slimy-pugs-vanish.md @@ -0,0 +1,5 @@ +--- +"@effect/platform-node": patch +--- + +remove Scope requirement from NodeHttpServer.makeHandler diff --git a/packages/platform-node/src/NodeHttpServer.ts b/packages/platform-node/src/NodeHttpServer.ts index fbd8885385..efac775fa0 100644 --- a/packages/platform-node/src/NodeHttpServer.ts +++ b/packages/platform-node/src/NodeHttpServer.ts @@ -41,17 +41,17 @@ export const makeHandler: { ( httpApp: App.Default ): Effect.Effect< - (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse) => void, + (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse) => void, never, - Exclude + Exclude > >( httpApp: App.Default, middleware: Middleware.HttpMiddleware.Applied ): Effect.Effect< - (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse) => void, + (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse) => void, never, - Exclude, Scope.Scope | ServerRequest.HttpServerRequest> + Exclude, ServerRequest.HttpServerRequest | Scope.Scope> > } = internal.makeHandler diff --git a/packages/platform-node/src/internal/httpServer.ts b/packages/platform-node/src/internal/httpServer.ts index 13a966397f..337278b744 100644 --- a/packages/platform-node/src/internal/httpServer.ts +++ b/packages/platform-node/src/internal/httpServer.ts @@ -22,6 +22,7 @@ import { type LazyArg } from "effect/Function" import * as Layer from "effect/Layer" import * as Option from "effect/Option" import type { ReadonlyRecord } from "effect/Record" +import * as Runtime from "effect/Runtime" import * as Scope from "effect/Scope" import * as Stream from "effect/Stream" import * as Http from "node:http" @@ -134,8 +135,9 @@ export const makeHandler: { > } = (httpApp: App.Default, middleware?: Middleware.HttpMiddleware) => { const handledApp = App.toHandled(httpApp, handleResponse, middleware) - return Effect.map(FiberSet.makeRuntime(), (runFork) => - function handler( + return Effect.map(Effect.runtime(), (runtime) => { + const runFork = Runtime.runFork(runtime) + return function handler( nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse ) { @@ -151,7 +153,8 @@ export const makeHandler: { fiber.unsafeInterruptAsFork(Error.clientAbortFiberId) } }) - }) + } + }) } /** @internal */