@effect/platform-node 0.13.17 → 0.13.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/internal/http/server.js
CHANGED
|
@@ -59,10 +59,15 @@ const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
|
59
59
|
},
|
|
60
60
|
serve: (httpApp, middleware) => {
|
|
61
61
|
const handledApp = middleware ? middleware(respond(httpApp)) : respond(httpApp);
|
|
62
|
-
return Effect.flatMap(Effect.runtime(), runtime => {
|
|
62
|
+
return Effect.flatMap(Effect.all([Effect.runtime(), Effect.fiberId]), ([runtime, fiberId]) => {
|
|
63
63
|
const runFork = Runtime.runFork(runtime);
|
|
64
64
|
function handler(nodeRequest, nodeResponse) {
|
|
65
|
-
runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
|
|
65
|
+
const fiber = runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
|
|
66
|
+
nodeResponse.on("close", () => {
|
|
67
|
+
if (!nodeResponse.writableEnded) {
|
|
68
|
+
runFork(fiber.interruptAsFork(fiberId));
|
|
69
|
+
}
|
|
70
|
+
});
|
|
66
71
|
}
|
|
67
72
|
return Effect.all([Effect.acquireRelease(Effect.sync(() => server.on("request", handler)), () => Effect.sync(() => server.off("request", handler))), Fiber.join(serverFiber)], {
|
|
68
73
|
discard: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","names":["Option","_interopRequireWildcard","require","Config","Effect","Fiber","Layer","Runtime","internalEtag","internalFormData","_incomingMessage","NodeSink","FileSystem","IncomingMessage","Middleware","Server","Error","ServerRequest","Stream","_nodeStream","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handledApp","respond","flatMap","runtime","runFork","handler","nodeRequest","nodeResponse","provideService","ServerRequestImpl","all","acquireRelease","sync","off","join","discard","concurrency","pipe","locally","maxBodySize","some","Size","exports","request","tapErrorCause","tap","response","handleResponse","_cause","headersSent","writeHead","writableEnded","end","IncomingMessageImpl","constructor","source","url","headersOverride","RequestError","reason","TypeId","originalUrl","method","headers","formData","formDataEffect","runSync","cached","formDataStream","stream","setUrl","replaceHeaders","toString","toJSON","layer","merge","layerConfig","config","unwrap","suspend","body","status","r","Response","fromEntries","Readable","fromWeb","ResponseError","once","run","mapError","fromWritable"],"sources":["../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","names":["Option","_interopRequireWildcard","require","Config","Effect","Fiber","Layer","Runtime","internalEtag","internalFormData","_incomingMessage","NodeSink","FileSystem","IncomingMessage","Middleware","Server","Error","ServerRequest","Stream","_nodeStream","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handledApp","respond","flatMap","all","runtime","fiberId","runFork","handler","nodeRequest","nodeResponse","fiber","provideService","ServerRequestImpl","writableEnded","interruptAsFork","acquireRelease","sync","off","join","discard","concurrency","pipe","locally","maxBodySize","some","Size","exports","request","tapErrorCause","tap","response","handleResponse","_cause","headersSent","writeHead","end","IncomingMessageImpl","constructor","source","url","headersOverride","RequestError","reason","TypeId","originalUrl","method","headers","formData","formDataEffect","runSync","cached","formDataStream","stream","setUrl","replaceHeaders","toString","toJSON","layer","merge","layerConfig","config","unwrap","suspend","body","status","r","Response","fromEntries","Readable","fromWeb","ResponseError","once","run","mapError","fromWritable"],"sources":["../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -51,10 +51,15 @@ export const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
|
51
51
|
},
|
|
52
52
|
serve: (httpApp, middleware) => {
|
|
53
53
|
const handledApp = middleware ? middleware(respond(httpApp)) : respond(httpApp);
|
|
54
|
-
return Effect.flatMap(Effect.runtime(), runtime => {
|
|
54
|
+
return Effect.flatMap(Effect.all([Effect.runtime(), Effect.fiberId]), ([runtime, fiberId]) => {
|
|
55
55
|
const runFork = Runtime.runFork(runtime);
|
|
56
56
|
function handler(nodeRequest, nodeResponse) {
|
|
57
|
-
runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
|
|
57
|
+
const fiber = runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
|
|
58
|
+
nodeResponse.on("close", () => {
|
|
59
|
+
if (!nodeResponse.writableEnded) {
|
|
60
|
+
runFork(fiber.interruptAsFork(fiberId));
|
|
61
|
+
}
|
|
62
|
+
});
|
|
58
63
|
}
|
|
59
64
|
return Effect.all([Effect.acquireRelease(Effect.sync(() => server.on("request", handler)), () => Effect.sync(() => server.off("request", handler))), Fiber.join(serverFiber)], {
|
|
60
65
|
discard: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.mjs","names":["Option","Config","Effect","Fiber","Layer","Runtime","internalEtag","internalFormData","IncomingMessageImpl","NodeSink","FileSystem","IncomingMessage","Middleware","Server","Error","ServerRequest","Stream","Readable","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handledApp","respond","flatMap","runtime","runFork","handler","nodeRequest","nodeResponse","provideService","ServerRequestImpl","
|
|
1
|
+
{"version":3,"file":"server.mjs","names":["Option","Config","Effect","Fiber","Layer","Runtime","internalEtag","internalFormData","IncomingMessageImpl","NodeSink","FileSystem","IncomingMessage","Middleware","Server","Error","ServerRequest","Stream","Readable","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handledApp","respond","flatMap","all","runtime","fiberId","runFork","handler","nodeRequest","nodeResponse","fiber","provideService","ServerRequestImpl","writableEnded","interruptAsFork","acquireRelease","sync","off","join","discard","concurrency","pipe","locally","maxBodySize","some","Size","request","tapErrorCause","tap","response","handleResponse","_cause","headersSent","writeHead","end","constructor","source","url","headersOverride","RequestError","reason","TypeId","originalUrl","method","headers","formData","formDataEffect","runSync","cached","formDataStream","stream","setUrl","replaceHeaders","toString","toJSON","layer","merge","layerConfig","config","unwrap","suspend","body","status","r","Response","Object","fromEntries","fromWeb","ResponseError","once","run","mapError","fromWritable"],"sources":["../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -78,16 +78,21 @@ export const make = (
|
|
|
78
78
|
},
|
|
79
79
|
serve: (httpApp, middleware) => {
|
|
80
80
|
const handledApp = middleware ? middleware(respond(httpApp)) : respond(httpApp)
|
|
81
|
-
return Effect.flatMap(Effect.runtime(), (runtime) => {
|
|
81
|
+
return Effect.flatMap(Effect.all([Effect.runtime(), Effect.fiberId]), ([runtime, fiberId]) => {
|
|
82
82
|
const runFork = Runtime.runFork(runtime)
|
|
83
83
|
function handler(nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse) {
|
|
84
|
-
runFork(
|
|
84
|
+
const fiber = runFork(
|
|
85
85
|
Effect.provideService(
|
|
86
86
|
handledApp,
|
|
87
87
|
ServerRequest.ServerRequest,
|
|
88
88
|
new ServerRequestImpl(nodeRequest, nodeResponse)
|
|
89
89
|
)
|
|
90
90
|
)
|
|
91
|
+
nodeResponse.on("close", () => {
|
|
92
|
+
if (!nodeResponse.writableEnded) {
|
|
93
|
+
runFork(fiber.interruptAsFork(fiberId))
|
|
94
|
+
}
|
|
95
|
+
})
|
|
91
96
|
}
|
|
92
97
|
return Effect.all([
|
|
93
98
|
Effect.acquireRelease(
|