@effect/platform-node 0.37.8 → 0.37.10

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.
@@ -80,40 +80,45 @@ const make = (evaluate, options) => Effect.gen(function* (_) {
80
80
  hostname: address.address,
81
81
  port: address.port
82
82
  },
83
- serve: (httpApp, middleware) => makeHandler(httpApp, middleware).pipe(Effect.flatMap(handler => Effect.async(_resume => {
84
- server.on("request", handler);
85
- return Effect.sync(() => {
83
+ serve: (httpApp, middleware) => Effect.gen(function* (_) {
84
+ const handler = yield* _(makeHandler(httpApp, middleware));
85
+ yield* _(Effect.addFinalizer(() => Effect.sync(() => {
86
86
  server.off("request", handler);
87
- });
88
- })), Effect.forkScoped, Effect.asUnit)
87
+ })));
88
+ server.on("request", handler);
89
+ })
89
90
  });
90
91
  }).pipe(Effect.locally(IncomingMessage.maxBodySize, Option.some(FileSystem.Size(1024 * 1024 * 10))));
91
- exports.make = make;
92
- const respond = /*#__PURE__*/Middleware.make(httpApp => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.tapErrorCause(Effect.tap(Effect.flatMap(httpApp, response => Effect.flatMap(App.preResponseHandler, f => f(request, response))), response => handleResponse(request, response)), cause => Effect.sync(() => {
93
- const nodeResponse = request.response;
94
- if (!nodeResponse.headersSent) {
95
- nodeResponse.writeHead(Cause.isInterruptedOnly(cause) ? 499 : 500);
96
- }
97
- if (!nodeResponse.writableEnded) {
98
- nodeResponse.end();
99
- }
100
- }))));
101
92
  /** @internal */
93
+ exports.make = make;
102
94
  const makeHandler = (httpApp, middleware) => {
103
- const handledApp = middleware ? middleware(App.withDefaultMiddleware(respond(httpApp))) : App.withDefaultMiddleware(respond(httpApp));
104
- return Effect.map(Effect.zip(Effect.runtime(), Effect.fiberId), ([runtime, fiberId]) => {
95
+ const handledApp = Effect.scoped(middleware ? middleware(App.withDefaultMiddleware(respond(httpApp))) : App.withDefaultMiddleware(respond(httpApp)));
96
+ return Effect.map(Effect.runtime(), runtime => {
105
97
  const runFork = Runtime.runFork(runtime);
106
98
  return function handler(nodeRequest, nodeResponse) {
107
99
  const fiber = runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
108
100
  nodeResponse.on("close", () => {
109
101
  if (!nodeResponse.writableEnded) {
110
- runFork(fiber.interruptAsFork(fiberId));
102
+ if (!nodeResponse.headersSent) {
103
+ nodeResponse.writeHead(499);
104
+ }
105
+ nodeResponse.end();
106
+ runFork(fiber.interruptAsFork(Error.clientAbortFiberId));
111
107
  }
112
108
  });
113
109
  };
114
110
  });
115
111
  };
116
112
  exports.makeHandler = makeHandler;
113
+ const respond = /*#__PURE__*/Middleware.make(httpApp => Effect.uninterruptibleMask(restore => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.tapErrorCause(restore(Effect.tap(Effect.flatMap(httpApp, response => Effect.flatMap(App.preResponseHandler, f => f(request, response))), response => handleResponse(request, response))), cause => Effect.sync(() => {
114
+ const nodeResponse = request.response;
115
+ if (!nodeResponse.headersSent) {
116
+ nodeResponse.writeHead(Cause.isInterruptedOnly(cause) ? 503 : 500);
117
+ }
118
+ if (!nodeResponse.writableEnded) {
119
+ nodeResponse.end();
120
+ }
121
+ })))));
117
122
  class ServerRequestImpl extends _incomingMessage.IncomingMessageImpl {
118
123
  source;
119
124
  response;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","names":["FileSystem","_interopRequireWildcard","require","App","IncomingMessage","Middleware","Server","Error","ServerRequest","Cause","Config","Effect","Layer","Option","Runtime","Stream","_nodeStream","_promises","NodeSink","internalFormData","_incomingMessage","internalPlatform","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","evaluate","options","gen","_","server","acquireRelease","sync","async","resume","close","error","die","unit","on","fail","ServeError","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","makeHandler","pipe","flatMap","handler","_resume","off","forkScoped","asUnit","locally","maxBodySize","some","Size","exports","respond","request","tapErrorCause","tap","response","preResponseHandler","f","handleResponse","cause","nodeResponse","headersSent","writeHead","isInterruptedOnly","writableEnded","end","handledApp","withDefaultMiddleware","map","zip","runtime","fiberId","runFork","nodeRequest","fiber","provideService","ServerRequestImpl","interruptAsFork","IncomingMessageImpl","source","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","reason","modify","headers","remoteAddress","originalUrl","method","toUpperCase","formDataEffect","formData","runSync","cached","formDataStream","stream","toString","toJSON","layer","merge","scoped","layerConfig","unwrap","suspend","status","body","tryPromise","try","signal","pipeline","catch","ResponseError","Response","fromEntries","Readable","fromWeb","once","run","mapError","fromWritable","requestSource","self"],"sources":["../../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,GAAA,gBAAAF,uBAAA,eAAAC,OAAA;AAGA,IAAAE,eAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAEA,IAAAG,UAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,MAAA,gBAAAL,uBAAA,eAAAC,OAAA;AACA,IAAAK,KAAA,gBAAAN,uBAAA,eAAAC,OAAA;AACA,IAAAM,aAAA,gBAAAP,uBAAA,eAAAC,OAAA;AAGA,IAAAO,KAAA,gBAAAR,uBAAA,eAAAC,OAAA;AACA,IAAAQ,MAAA,gBAAAT,uBAAA,eAAAC,OAAA;AACA,IAAAS,MAAA,gBAAAV,uBAAA,eAAAC,OAAA;AAEA,IAAAU,KAAA,gBAAAX,uBAAA,eAAAC,OAAA;AACA,IAAAW,MAAA,gBAAAZ,uBAAA,eAAAC,OAAA;AACA,IAAAY,OAAA,gBAAAb,uBAAA,eAAAC,OAAA;AAEA,IAAAa,MAAA,gBAAAd,uBAAA,eAAAC,OAAA;AAGA,IAAAc,WAAA,gBAAAd,OAAA;AACA,IAAAe,SAAA,gBAAAf,OAAA;AACA,IAAAgB,QAAA,gBAAAjB,uBAAA,eAAAC,OAAA;AACA,IAAAiB,gBAAA,gBAAAlB,uBAAA,eAAAC,OAAA;AACA,IAAAkB,gBAAA,gBAAAlB,OAAA;AACA,IAAAmB,gBAAA,gBAAApB,uBAAA,eAAAC,OAAA;AAAiD,SAAAoB,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAtB,wBAAAsB,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAEjD;AACO,MAAMY,IAAI,GAAGA,CAClBC,QAA8B,EAC9BC,OAA0B,KAE1BlC,MAAM,CAACmC,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMC,MAAM,GAAG,OAAOD,CAAC,CAACpC,MAAM,CAACsC,cAAc,CAC3CtC,MAAM,CAACuC,IAAI,CAACN,QAAQ,CAAC,EACpBI,MAAM,IACLrC,MAAM,CAACwC,KAAK,CAAsBC,MAAM,IAAI;IAC1CJ,MAAM,CAACK,KAAK,CAAEC,KAAK,IAAI;MACrB,IAAIA,KAAK,EAAE;QACTF,MAAM,CAACzC,MAAM,CAAC4C,GAAG,CAACD,KAAK,CAAC,CAAC;MAC3B,CAAC,MAAM;QACLF,MAAM,CAACzC,MAAM,CAAC6C,IAAI,CAAC;MACrB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,CACL,CAAC;EAEF,OAAOT,CAAC,CAACpC,MAAM,CAACwC,KAAK,CAAiCC,MAAM,IAAI;IAC9DJ,MAAM,CAACS,EAAE,CAAC,OAAO,EAAGH,KAAK,IAAI;MAC3BF,MAAM,CAACzC,MAAM,CAAC+C,IAAI,CAACnD,KAAK,CAACoD,UAAU,CAAC;QAAEL;MAAK,CAAE,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC;IACFN,MAAM,CAACY,MAAM,CAACf,OAAO,EAAE,MAAK;MAC1BO,MAAM,CAACzC,MAAM,CAAC6C,IAAI,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC,CAAC;EAEH,MAAMK,OAAO,GAAGb,MAAM,CAACa,OAAO,EAAG;EAEjC,OAAOvD,MAAM,CAACqC,IAAI,CAAC;IACjBkB,OAAO,EAAE,OAAOA,OAAO,KAAK,QAAQ,GAClC;MACEC,IAAI,EAAE,aAAa;MACnBC,IAAI,EAAEF;KACP,GACD;MACEC,IAAI,EAAE,YAAY;MAClBE,QAAQ,EAAEH,OAAO,CAACA,OAAO;MACzBI,IAAI,EAAEJ,OAAO,CAACI;KACf;IACHC,KAAK,EAAEA,CAACC,OAAO,EAAEC,UAAU,KACzBC,WAAW,CAACF,OAAO,EAAEC,UAAW,CAAC,CAACE,IAAI,CACpC3D,MAAM,CAAC4D,OAAO,CAAEC,OAAO,IACrB7D,MAAM,CAACwC,KAAK,CAAuBsB,OAAO,IAAI;MAC5CzB,MAAM,CAACS,EAAE,CAAC,SAAS,EAAEe,OAAO,CAAC;MAC7B,OAAO7D,MAAM,CAACuC,IAAI,CAAC,MAAK;QACtBF,MAAM,CAAC0B,GAAG,CAAC,SAAS,EAAEF,OAAO,CAAC;MAChC,CAAC,CAAC;IACJ,CAAC,CAAC,CACH,EACD7D,MAAM,CAACgE,UAAU,EACjBhE,MAAM,CAACiE,MAAM;GAElB,CAAC;AACJ,CAAC,CAAC,CAACN,IAAI,CACL3D,MAAM,CAACkE,OAAO,CACZzE,eAAe,CAAC0E,WAAW,EAC3BjE,MAAM,CAACkE,IAAI,CAAC/E,UAAU,CAACgF,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAC/C,CACF;AAAAC,OAAA,CAAAtC,IAAA,GAAAA,IAAA;AAEH,MAAMuC,OAAO,gBAAG7E,UAAU,CAACsC,IAAI,CAAEwB,OAAO,IACtCxD,MAAM,CAAC4D,OAAO,CAAC/D,aAAa,CAACA,aAAa,EAAG2E,OAAO,IAClDxE,MAAM,CAACyE,aAAa,CAClBzE,MAAM,CAAC0E,GAAG,CACR1E,MAAM,CAAC4D,OAAO,CACZJ,OAAO,EACNmB,QAAQ,IAAK3E,MAAM,CAAC4D,OAAO,CAACpE,GAAG,CAACoF,kBAAkB,EAAGC,CAAC,IAAKA,CAAC,CAACL,OAAO,EAAEG,QAAQ,CAAC,CAAC,CAClF,EACAA,QAAQ,IAAKG,cAAc,CAACN,OAAO,EAAEG,QAAQ,CAAC,CAChD,EACAI,KAAK,IACJ/E,MAAM,CAACuC,IAAI,CAAC,MAAK;EACf,MAAMyC,YAAY,GAAIR,OAA6B,CAACG,QAAQ;EAC5D,IAAI,CAACK,YAAY,CAACC,WAAW,EAAE;IAC7BD,YAAY,CAACE,SAAS,CAACpF,KAAK,CAACqF,iBAAiB,CAACJ,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;EACpE;EACA,IAAI,CAACC,YAAY,CAACI,aAAa,EAAE;IAC/BJ,YAAY,CAACK,GAAG,EAAE;EACpB;AACF,CAAC,CAAC,CACL,CAAC,CACL;AAED;AACO,MAAM3B,WAAW,GAcpBA,CAAOF,OAA0B,EAAEC,UAAkC,KAAI;EAC3E,MAAM6B,UAAU,GAAG7B,UAAU,GACzBA,UAAU,CAACjE,GAAG,CAAC+F,qBAAqB,CAAChB,OAAO,CAACf,OAAO,CAAC,CAAC,CAAC,GACvDhE,GAAG,CAAC+F,qBAAqB,CAAChB,OAAO,CAACf,OAAO,CAAC,CAAC;EAC/C,OAAOxD,MAAM,CAACwF,GAAG,CACfxF,MAAM,CAACyF,GAAG,CAACzF,MAAM,CAAC0F,OAAO,EAAK,EAAE1F,MAAM,CAAC2F,OAAO,CAAC,EAC/C,CAAC,CAACD,OAAO,EAAEC,OAAO,CAAC,KAAI;IACrB,MAAMC,OAAO,GAAGzF,OAAO,CAACyF,OAAO,CAACF,OAAO,CAAC;IACxC,OAAO,SAAS7B,OAAOA,CAACgC,WAAiC,EAAEb,YAAiC;MAC1F,MAAMc,KAAK,GAAGF,OAAO,CACnB5F,MAAM,CAAC+F,cAAc,CACnBT,UAAU,EACVzF,aAAa,CAACA,aAAa,EAC3B,IAAImG,iBAAiB,CAACH,WAAW,EAAEb,YAAY,CAAC,CACjD,CACF;MACDA,YAAY,CAAClC,EAAE,CAAC,OAAO,EAAE,MAAK;QAC5B,IAAI,CAACkC,YAAY,CAACI,aAAa,EAAE;UAC/BQ,OAAO,CAACE,KAAK,CAACG,eAAe,CAACN,OAAO,CAAC,CAAC;QACzC;MACF,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,CACF;AACH,CAAC;AAAArB,OAAA,CAAAZ,WAAA,GAAAA,WAAA;AAED,MAAMsC,iBAAkB,SAAQvF,gBAAA,CAAAyF,mBAAuC;EAI1DC,MAAA;EACAxB,QAAA;EACAyB,GAAA;EACDC,eAAA;EAND,CAACxG,aAAa,CAACyG,MAAM;EAE9BC,YACWJ,MAA4B,EAC5BxB,QAA6B,EAC7ByB,GAAA,GAAMD,MAAM,CAACC,GAAI,EAClBC,eAAiC,EACzCG,qBAA8B;IAE9B,KAAK,CAACL,MAAM,EAAG/D,CAAC,IACdxC,KAAK,CAAC6G,YAAY,CAAC;MACjBjC,OAAO,EAAE,IAAI;MACbkC,MAAM,EAAE,QAAQ;MAChB/D,KAAK,EAAEP;KACR,CAAC,EAAEoE,qBAAqB,CAAC;IAXnB,KAAAL,MAAM,GAANA,MAAM;IACN,KAAAxB,QAAQ,GAARA,QAAQ;IACR,KAAAyB,GAAG,GAAHA,GAAG;IACJ,KAAAC,eAAe,GAAfA,eAAe;IASvB,IAAI,CAACxG,aAAa,CAACyG,MAAM,CAAC,GAAGzG,aAAa,CAACyG,MAAM;EACnD;EAEAK,MAAMA,CACJzE,OAIC;IAED,OAAO,IAAI8D,iBAAiB,CAC1B,IAAI,CAACG,MAAM,EACX,IAAI,CAACxB,QAAQ,EACbzC,OAAO,CAACkE,GAAG,IAAI,IAAI,CAACA,GAAG,EACvBlE,OAAO,CAAC0E,OAAO,IAAI,IAAI,CAACP,eAAe,EACvCnE,OAAO,CAAC2E,aAAa,IAAI,IAAI,CAACL,qBAAqB,CACpD;EACH;EAEA,IAAIM,WAAWA,CAAA;IACb,OAAO,IAAI,CAACX,MAAM,CAACC,GAAI;EACzB;EAEA,IAAIW,MAAMA,CAAA;IACR,OAAO,IAAI,CAACZ,MAAM,CAACY,MAAO,CAACC,WAAW,EAAY;EACpD;EAEA,IAAIJ,OAAOA,CAAA;IACT,IAAI,CAACP,eAAe,KAAK,IAAI,CAACF,MAAM,CAACS,OAA0B;IAC/D,OAAO,IAAI,CAACP,eAAe;EAC7B;EAEQY,cAAc;EAOtB,IAAIC,QAAQA,CAAA;IAKV,IAAI,IAAI,CAACD,cAAc,EAAE;MACvB,OAAO,IAAI,CAACA,cAAc;IAC5B;IACA,IAAI,CAACA,cAAc,GAAGjH,MAAM,CAACmH,OAAO,CAACnH,MAAM,CAACoH,MAAM,CAChD5G,gBAAgB,CAAC0G,QAAQ,CAAC,IAAI,CAACf,MAAM,EAAE,IAAI,CAACA,MAAM,CAACS,OAAO,CAAC,CAC5D,CAAC;IACF,OAAO,IAAI,CAACK,cAAc;EAC5B;EAEA,IAAII,cAAcA,CAAA;IAChB,OAAO7G,gBAAgB,CAAC8G,MAAM,CAAC,IAAI,CAACnB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACS,OAAO,CAAC;EAClE;EAEAW,QAAQA,CAAA;IACN,OAAO,iBAAiB,IAAI,CAACR,MAAM,IAAI,IAAI,CAACX,GAAG,GAAG;EACpD;EAEAoB,MAAMA,CAAA;IACJ,OAAO;MACLrE,IAAI,EAAE,eAAe;MACrB4D,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBX,GAAG,EAAE,IAAI,CAACA,GAAG;MACbU,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BF,OAAO,EAAE,IAAI,CAACA;KACf;EACH;;AAGF;AACO,MAAMa,KAAK,GAAGA,CACnBxF,QAA8B,EAC9BC,OAA0B,KAE1BjC,KAAK,CAACyH,KAAK,CACTzH,KAAK,CAAC0H,MAAM,CAAChI,MAAM,CAACA,MAAM,EAAEqC,IAAI,CAACC,QAAQ,EAAEC,OAAO,CAAC,CAAC,EACpDxB,gBAAgB,CAAC+G,KAAK,CACvB;AAEH;AAAAnD,OAAA,CAAAmD,KAAA,GAAAA,KAAA;AACO,MAAMG,WAAW,GAAGA,CACzB3F,QAA8B,EAC9BC,OAA8C,KAE9CjC,KAAK,CAACyH,KAAK,CACTzH,KAAK,CAAC0H,MAAM,CACVhI,MAAM,CAACA,MAAM,EACbK,MAAM,CAAC4D,OAAO,CAAC7D,MAAM,CAAC8H,MAAM,CAAC3F,OAAO,CAAC,EAAGA,OAAO,IAAKF,IAAI,CAACC,QAAQ,EAAEC,OAAO,CAAC,CAAC,CAC7E,EACDxB,gBAAgB,CAAC+G,KAAK,CACvB;AAAAnD,OAAA,CAAAsD,WAAA,GAAAA,WAAA;AAEH,MAAM9C,cAAc,GAAGA,CAACN,OAAoC,EAAEG,QAAuC,KACnG3E,MAAM,CAAC8H,OAAO,CAAC,MAAsD;EACnE,MAAM9C,YAAY,GAAIR,OAA6B,CAACG,QAAQ;EAC5D,IAAIH,OAAO,CAACuC,MAAM,KAAK,MAAM,EAAE;IAC7B/B,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpD,QAAQ,CAACiC,OAAO,CAAC;IACzD5B,YAAY,CAACK,GAAG,EAAE;IAClB,OAAOrF,MAAM,CAAC6C,IAAI;EACpB;EACA,MAAMmF,IAAI,GAAGrD,QAAQ,CAACqD,IAAI;EAC1B,QAAQA,IAAI,CAAC7E,IAAI;IACf,KAAK,OAAO;MAAE;QACZ6B,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpD,QAAQ,CAACiC,OAAO,CAAC;QACzD5B,YAAY,CAACK,GAAG,EAAE;QAClB,OAAOrF,MAAM,CAAC6C,IAAI;MACpB;IACA,KAAK,KAAK;MAAE;QACVmC,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpD,QAAQ,CAACiC,OAAO,CAAC;QACzD,IACE,OAAOoB,IAAI,CAACA,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACA,IAAI,KAAK,IAAI,IAAI,MAAM,IAAIA,IAAI,CAACA,IAAI,IAC1E,OAAOA,IAAI,CAACA,IAAI,CAACrE,IAAI,KAAK,UAAU,EACpC;UACA,OAAO3D,MAAM,CAACiI,UAAU,CAAC;YACvBC,GAAG,EAAGC,MAAM,IAAK,IAAA7H,SAAA,CAAA8H,QAAQ,EAACJ,IAAI,CAACA,IAAW,EAAEhD,YAAY,EAAE;cAAEmD,MAAM;cAAE9C,GAAG,EAAE;YAAI,CAAE,CAAC;YAChFgD,KAAK,EAAG1F,KAAK,IACX/C,KAAK,CAAC0I,aAAa,CAAC;cAClB9D,OAAO;cACPG,QAAQ;cACR+B,MAAM,EAAE,QAAQ;cAChB/D;aACD;WACJ,CAAC;QACJ;QACAqC,YAAY,CAACK,GAAG,CAAC2C,IAAI,CAACA,IAAI,CAAC;QAC3B,OAAOhI,MAAM,CAAC6C,IAAI;MACpB;IACA,KAAK,YAAY;MAAE;QACjBmC,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpD,QAAQ,CAACiC,OAAO,CAAC;QACzD5B,YAAY,CAACK,GAAG,CAAC2C,IAAI,CAACA,IAAI,CAAC;QAC3B,OAAOhI,MAAM,CAAC6C,IAAI;MACpB;IACA,KAAK,UAAU;MAAE;QACf,OAAO7C,MAAM,CAACwC,KAAK,CAAoCC,MAAM,IAAI;UAC/D,MAAM3B,CAAC,GAAG,IAAIyH,QAAQ,CAACP,IAAI,CAACd,QAAQ,CAAC;UACrC,MAAMN,OAAO,GAAG;YACd,GAAGjC,QAAQ,CAACiC,OAAO;YACnB,GAAGrF,MAAM,CAACiH,WAAW,CAAC1H,CAAC,CAAC8F,OAAO;WAChC;UACD5B,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEnB,OAAO,CAAC;UAChDvG,WAAA,CAAAoI,QAAQ,CAACC,OAAO,CAAC5H,CAAC,CAACkH,IAAW,CAAC,CAC5BrE,IAAI,CAACqB,YAAY,CAAC,CAClBlC,EAAE,CAAC,OAAO,EAAGH,KAAK,IAAI;YACrBF,MAAM,CAACzC,MAAM,CAAC+C,IAAI,CAACnD,KAAK,CAAC0I,aAAa,CAAC;cACrC9D,OAAO;cACPG,QAAQ;cACR+B,MAAM,EAAE,QAAQ;cAChB/D;aACD,CAAC,CAAC,CAAC;UACN,CAAC,CAAC,CACDgG,IAAI,CAAC,QAAQ,EAAE,MAAK;YACnBlG,MAAM,CAACzC,MAAM,CAAC6C,IAAI,CAAC;UACrB,CAAC,CAAC;QACN,CAAC,CAAC;MACJ;IACA,KAAK,QAAQ;MAAE;QACbmC,YAAY,CAACE,SAAS,CAACP,QAAQ,CAACoD,MAAM,EAAEpD,QAAQ,CAACiC,OAAO,CAAC;QACzD,OAAOxG,MAAM,CAACwI,GAAG,CACfxI,MAAM,CAACyI,QAAQ,CACbb,IAAI,CAACV,MAAM,EACV3E,KAAK,IACJ/C,KAAK,CAAC0I,aAAa,CAAC;UAClB9D,OAAO;UACPG,QAAQ;UACR+B,MAAM,EAAE,QAAQ;UAChB/D;SACD,CAAC,CACL,EACDpC,QAAQ,CAACuI,YAAY,CAAC,MAAM9D,YAAY,EAAGrC,KAAK,IAC9C/C,KAAK,CAAC0I,aAAa,CAAC;UAClB9D,OAAO;UACPG,QAAQ;UACR+B,MAAM,EAAE,QAAQ;UAChB/D;SACD,CAAC,CAAC,CACN;MACH;EACF;AACF,CAAC,CAAC;AAEJ;AACO,MAAMoG,aAAa,GAAIC,IAAiC,IAC5DA,IAA0B,CAAC7C,MAAM;AAAA7B,OAAA,CAAAyE,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"file":"server.js","names":["FileSystem","_interopRequireWildcard","require","App","IncomingMessage","Middleware","Server","Error","ServerRequest","Cause","Config","Effect","Layer","Option","Runtime","Stream","_nodeStream","_promises","NodeSink","internalFormData","_incomingMessage","internalPlatform","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","evaluate","options","gen","_","server","acquireRelease","sync","async","resume","close","error","die","unit","on","fail","ServeError","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handler","makeHandler","addFinalizer","off","pipe","locally","maxBodySize","some","Size","exports","handledApp","scoped","withDefaultMiddleware","respond","map","runtime","runFork","nodeRequest","nodeResponse","fiber","provideService","ServerRequestImpl","writableEnded","headersSent","writeHead","end","interruptAsFork","clientAbortFiberId","uninterruptibleMask","restore","flatMap","request","tapErrorCause","tap","response","preResponseHandler","f","handleResponse","cause","isInterruptedOnly","IncomingMessageImpl","source","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","reason","modify","headers","remoteAddress","originalUrl","method","toUpperCase","formDataEffect","formData","runSync","cached","formDataStream","stream","toString","toJSON","layer","merge","layerConfig","unwrap","suspend","status","body","tryPromise","try","signal","pipeline","catch","ResponseError","Response","fromEntries","Readable","fromWeb","once","run","mapError","fromWritable","requestSource","self"],"sources":["../../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -33,8 +33,8 @@ export declare const make: (evaluate: LazyArg<Http.Server<typeof Http.IncomingMe
33
33
  * @category constructors
34
34
  */
35
35
  export declare const makeHandler: {
36
- <R, E>(httpApp: App.Default<R, E>): Effect.Effect<Exclude<R, ServerRequest.ServerRequest>, never, (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse<Http.IncomingMessage>) => void>;
37
- <R, E, App extends App.Default<any, any>>(httpApp: App.Default<R, E>, middleware: Middleware.Middleware.Applied<R, E, App>): Effect.Effect<Exclude<Effect.Effect.Context<App>, ServerRequest.ServerRequest>, never, (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse<Http.IncomingMessage>) => void>;
36
+ <R, E>(httpApp: App.Default<R, E>): Effect.Effect<Exclude<R, Scope.Scope | ServerRequest.ServerRequest>, never, (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse<Http.IncomingMessage>) => void>;
37
+ <R, E, App extends App.Default<any, any>>(httpApp: App.Default<R, E>, middleware: Middleware.Middleware.Applied<R, E, App>): Effect.Effect<Exclude<Effect.Effect.Context<App>, Scope.Scope | ServerRequest.ServerRequest>, never, (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse<Http.IncomingMessage>) => void>;
38
38
  };
39
39
  /**
40
40
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../src/Http/Server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../../../src/Http/Server.ts"],"names":[],"mappings":"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"}
@@ -49,38 +49,43 @@ export const make = (evaluate, options) => Effect.gen(function* (_) {
49
49
  hostname: address.address,
50
50
  port: address.port
51
51
  },
52
- serve: (httpApp, middleware) => makeHandler(httpApp, middleware).pipe(Effect.flatMap(handler => Effect.async(_resume => {
53
- server.on("request", handler);
54
- return Effect.sync(() => {
52
+ serve: (httpApp, middleware) => Effect.gen(function* (_) {
53
+ const handler = yield* _(makeHandler(httpApp, middleware));
54
+ yield* _(Effect.addFinalizer(() => Effect.sync(() => {
55
55
  server.off("request", handler);
56
- });
57
- })), Effect.forkScoped, Effect.asUnit)
56
+ })));
57
+ server.on("request", handler);
58
+ })
58
59
  });
59
60
  }).pipe(Effect.locally(IncomingMessage.maxBodySize, Option.some(FileSystem.Size(1024 * 1024 * 10))));
60
- const respond = /*#__PURE__*/Middleware.make(httpApp => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.tapErrorCause(Effect.tap(Effect.flatMap(httpApp, response => Effect.flatMap(App.preResponseHandler, f => f(request, response))), response => handleResponse(request, response)), cause => Effect.sync(() => {
61
- const nodeResponse = request.response;
62
- if (!nodeResponse.headersSent) {
63
- nodeResponse.writeHead(Cause.isInterruptedOnly(cause) ? 499 : 500);
64
- }
65
- if (!nodeResponse.writableEnded) {
66
- nodeResponse.end();
67
- }
68
- }))));
69
61
  /** @internal */
70
62
  export const makeHandler = (httpApp, middleware) => {
71
- const handledApp = middleware ? middleware(App.withDefaultMiddleware(respond(httpApp))) : App.withDefaultMiddleware(respond(httpApp));
72
- return Effect.map(Effect.zip(Effect.runtime(), Effect.fiberId), ([runtime, fiberId]) => {
63
+ const handledApp = Effect.scoped(middleware ? middleware(App.withDefaultMiddleware(respond(httpApp))) : App.withDefaultMiddleware(respond(httpApp)));
64
+ return Effect.map(Effect.runtime(), runtime => {
73
65
  const runFork = Runtime.runFork(runtime);
74
66
  return function handler(nodeRequest, nodeResponse) {
75
67
  const fiber = runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
76
68
  nodeResponse.on("close", () => {
77
69
  if (!nodeResponse.writableEnded) {
78
- runFork(fiber.interruptAsFork(fiberId));
70
+ if (!nodeResponse.headersSent) {
71
+ nodeResponse.writeHead(499);
72
+ }
73
+ nodeResponse.end();
74
+ runFork(fiber.interruptAsFork(Error.clientAbortFiberId));
79
75
  }
80
76
  });
81
77
  };
82
78
  });
83
79
  };
80
+ const respond = /*#__PURE__*/Middleware.make(httpApp => Effect.uninterruptibleMask(restore => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.tapErrorCause(restore(Effect.tap(Effect.flatMap(httpApp, response => Effect.flatMap(App.preResponseHandler, f => f(request, response))), response => handleResponse(request, response))), cause => Effect.sync(() => {
81
+ const nodeResponse = request.response;
82
+ if (!nodeResponse.headersSent) {
83
+ nodeResponse.writeHead(Cause.isInterruptedOnly(cause) ? 503 : 500);
84
+ }
85
+ if (!nodeResponse.writableEnded) {
86
+ nodeResponse.end();
87
+ }
88
+ })))));
84
89
  class ServerRequestImpl extends IncomingMessageImpl {
85
90
  source;
86
91
  response;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","names":["FileSystem","App","IncomingMessage","Middleware","Server","Error","ServerRequest","Cause","Config","Effect","Layer","Option","Runtime","Stream","Readable","pipeline","NodeSink","internalFormData","IncomingMessageImpl","internalPlatform","make","evaluate","options","gen","_","server","acquireRelease","sync","async","resume","close","error","die","unit","on","fail","ServeError","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","makeHandler","pipe","flatMap","handler","_resume","off","forkScoped","asUnit","locally","maxBodySize","some","Size","respond","request","tapErrorCause","tap","response","preResponseHandler","f","handleResponse","cause","nodeResponse","headersSent","writeHead","isInterruptedOnly","writableEnded","end","handledApp","withDefaultMiddleware","map","zip","runtime","fiberId","runFork","nodeRequest","fiber","provideService","ServerRequestImpl","interruptAsFork","source","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","reason","modify","headers","remoteAddress","originalUrl","method","toUpperCase","formDataEffect","formData","runSync","cached","formDataStream","stream","toString","toJSON","layer","merge","scoped","layerConfig","unwrap","suspend","status","body","tryPromise","try","signal","catch","ResponseError","r","Response","Object","fromEntries","fromWeb","once","run","mapError","fromWritable","requestSource","self"],"sources":["../../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"server.js","names":["FileSystem","App","IncomingMessage","Middleware","Server","Error","ServerRequest","Cause","Config","Effect","Layer","Option","Runtime","Stream","Readable","pipeline","NodeSink","internalFormData","IncomingMessageImpl","internalPlatform","make","evaluate","options","gen","_","server","acquireRelease","sync","async","resume","close","error","die","unit","on","fail","ServeError","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handler","makeHandler","addFinalizer","off","pipe","locally","maxBodySize","some","Size","handledApp","scoped","withDefaultMiddleware","respond","map","runtime","runFork","nodeRequest","nodeResponse","fiber","provideService","ServerRequestImpl","writableEnded","headersSent","writeHead","end","interruptAsFork","clientAbortFiberId","uninterruptibleMask","restore","flatMap","request","tapErrorCause","tap","response","preResponseHandler","f","handleResponse","cause","isInterruptedOnly","source","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","reason","modify","headers","remoteAddress","originalUrl","method","toUpperCase","formDataEffect","formData","runSync","cached","formDataStream","stream","toString","toJSON","layer","merge","layerConfig","unwrap","suspend","status","body","tryPromise","try","signal","catch","ResponseError","r","Response","Object","fromEntries","fromWeb","once","run","mapError","fromWritable","requestSource","self"],"sources":["../../../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/platform-node",
3
- "version": "0.37.8",
3
+ "version": "0.37.10",
4
4
  "description": "Unified interfaces for common platform-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "peerDependencies": {
17
17
  "effect": "2.0.0-next.60",
18
- "@effect/platform": "0.37.6"
18
+ "@effect/platform": "0.37.8"
19
19
  },
20
20
  "main": "./dist/cjs/index.js",
21
21
  "module": "./dist/esm/index.js",
@@ -45,7 +45,7 @@ export const makeHandler: {
45
45
  <R, E>(
46
46
  httpApp: App.Default<R, E>
47
47
  ): Effect.Effect<
48
- Exclude<R, ServerRequest.ServerRequest>,
48
+ Exclude<R, Scope.Scope | ServerRequest.ServerRequest>,
49
49
  never,
50
50
  (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse<Http.IncomingMessage>) => void
51
51
  >
@@ -53,7 +53,7 @@ export const makeHandler: {
53
53
  httpApp: App.Default<R, E>,
54
54
  middleware: Middleware.Middleware.Applied<R, E, App>
55
55
  ): Effect.Effect<
56
- Exclude<Effect.Effect.Context<App>, ServerRequest.ServerRequest>,
56
+ Exclude<Effect.Effect.Context<App>, Scope.Scope | ServerRequest.ServerRequest>,
57
57
  never,
58
58
  (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse<Http.IncomingMessage>) => void
59
59
  >
@@ -13,7 +13,7 @@ import type * as Path from "@effect/platform/Path"
13
13
  import * as Cause from "effect/Cause"
14
14
  import * as Config from "effect/Config"
15
15
  import * as Effect from "effect/Effect"
16
- import type { LazyArg } from "effect/Function"
16
+ import { type LazyArg } from "effect/Function"
17
17
  import * as Layer from "effect/Layer"
18
18
  import * as Option from "effect/Option"
19
19
  import * as Runtime from "effect/Runtime"
@@ -71,18 +71,15 @@ export const make = (
71
71
  port: address.port
72
72
  },
73
73
  serve: (httpApp, middleware) =>
74
- makeHandler(httpApp, middleware!).pipe(
75
- Effect.flatMap((handler) =>
76
- Effect.async<never, never, never>((_resume) => {
77
- server.on("request", handler)
78
- return Effect.sync(() => {
79
- server.off("request", handler)
80
- })
74
+ Effect.gen(function*(_) {
75
+ const handler = yield* _(makeHandler(httpApp, middleware!))
76
+ yield* _(Effect.addFinalizer(() =>
77
+ Effect.sync(() => {
78
+ server.off("request", handler)
81
79
  })
82
- ),
83
- Effect.forkScoped,
84
- Effect.asUnit
85
- )
80
+ ))
81
+ server.on("request", handler)
82
+ })
86
83
  })
87
84
  }).pipe(
88
85
  Effect.locally(
@@ -91,33 +88,10 @@ export const make = (
91
88
  )
92
89
  )
93
90
 
94
- const respond = Middleware.make((httpApp) =>
95
- Effect.flatMap(ServerRequest.ServerRequest, (request) =>
96
- Effect.tapErrorCause(
97
- Effect.tap(
98
- Effect.flatMap(
99
- httpApp,
100
- (response) => Effect.flatMap(App.preResponseHandler, (f) => f(request, response))
101
- ),
102
- (response) => handleResponse(request, response)
103
- ),
104
- (cause) =>
105
- Effect.sync(() => {
106
- const nodeResponse = (request as ServerRequestImpl).response
107
- if (!nodeResponse.headersSent) {
108
- nodeResponse.writeHead(Cause.isInterruptedOnly(cause) ? 499 : 500)
109
- }
110
- if (!nodeResponse.writableEnded) {
111
- nodeResponse.end()
112
- }
113
- })
114
- ))
115
- )
116
-
117
91
  /** @internal */
118
92
  export const makeHandler: {
119
93
  <R, E>(httpApp: App.Default<R, E>): Effect.Effect<
120
- Exclude<R, ServerRequest.ServerRequest>,
94
+ Exclude<R, ServerRequest.ServerRequest | Scope.Scope>,
121
95
  never,
122
96
  (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse) => void
123
97
  >
@@ -125,36 +99,66 @@ export const makeHandler: {
125
99
  httpApp: App.Default<R, E>,
126
100
  middleware: Middleware.Middleware.Applied<R, E, App>
127
101
  ): Effect.Effect<
128
- Exclude<Effect.Effect.Context<App>, ServerRequest.ServerRequest>,
102
+ Exclude<Effect.Effect.Context<App>, ServerRequest.ServerRequest | Scope.Scope>,
129
103
  never,
130
104
  (nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse) => void
131
105
  >
132
106
  } = <R, E>(httpApp: App.Default<R, E>, middleware?: Middleware.Middleware) => {
133
- const handledApp = middleware
134
- ? middleware(App.withDefaultMiddleware(respond(httpApp)))
135
- : App.withDefaultMiddleware(respond(httpApp))
136
- return Effect.map(
137
- Effect.zip(Effect.runtime<R>(), Effect.fiberId),
138
- ([runtime, fiberId]) => {
139
- const runFork = Runtime.runFork(runtime)
140
- return function handler(nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse) {
141
- const fiber = runFork(
142
- Effect.provideService(
143
- handledApp,
144
- ServerRequest.ServerRequest,
145
- new ServerRequestImpl(nodeRequest, nodeResponse)
146
- )
107
+ const handledApp = Effect.scoped(
108
+ middleware
109
+ ? middleware(App.withDefaultMiddleware(respond(httpApp)))
110
+ : App.withDefaultMiddleware(respond(httpApp))
111
+ )
112
+ return Effect.map(Effect.runtime<R>(), (runtime) => {
113
+ const runFork = Runtime.runFork(runtime)
114
+ return function handler(nodeRequest: Http.IncomingMessage, nodeResponse: Http.ServerResponse) {
115
+ const fiber = runFork(
116
+ Effect.provideService(
117
+ handledApp,
118
+ ServerRequest.ServerRequest,
119
+ new ServerRequestImpl(nodeRequest, nodeResponse)
147
120
  )
148
- nodeResponse.on("close", () => {
149
- if (!nodeResponse.writableEnded) {
150
- runFork(fiber.interruptAsFork(fiberId))
121
+ )
122
+ nodeResponse.on("close", () => {
123
+ if (!nodeResponse.writableEnded) {
124
+ if (!nodeResponse.headersSent) {
125
+ nodeResponse.writeHead(499)
151
126
  }
152
- })
153
- }
127
+ nodeResponse.end()
128
+ runFork(fiber.interruptAsFork(Error.clientAbortFiberId))
129
+ }
130
+ })
154
131
  }
155
- )
132
+ })
156
133
  }
157
134
 
135
+ const respond = Middleware.make((httpApp) =>
136
+ Effect.uninterruptibleMask((restore) =>
137
+ Effect.flatMap(ServerRequest.ServerRequest, (request) =>
138
+ Effect.tapErrorCause(
139
+ restore(
140
+ Effect.tap(
141
+ Effect.flatMap(
142
+ httpApp,
143
+ (response) => Effect.flatMap(App.preResponseHandler, (f) => f(request, response))
144
+ ),
145
+ (response) => handleResponse(request, response)
146
+ )
147
+ ),
148
+ (cause) =>
149
+ Effect.sync(() => {
150
+ const nodeResponse = (request as ServerRequestImpl).response
151
+ if (!nodeResponse.headersSent) {
152
+ nodeResponse.writeHead(Cause.isInterruptedOnly(cause) ? 503 : 500)
153
+ }
154
+ if (!nodeResponse.writableEnded) {
155
+ nodeResponse.end()
156
+ }
157
+ })
158
+ ))
159
+ )
160
+ )
161
+
158
162
  class ServerRequestImpl extends IncomingMessageImpl<Error.RequestError> implements ServerRequest.ServerRequest {
159
163
  readonly [ServerRequest.TypeId]: ServerRequest.TypeId
160
164
 
@@ -1,5 +1,5 @@
1
1
  import type { SizeInput } from "@effect/platform/FileSystem"
2
- import type { Cause } from "effect"
2
+ import type * as Cause from "effect/Cause"
3
3
  import * as Channel from "effect/Channel"
4
4
  import * as Chunk from "effect/Chunk"
5
5
  import * as Effect from "effect/Effect"