@effect/platform-node 4.0.0-beta.99 → 4.0.0-rc.108

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.
Files changed (137) hide show
  1. package/AGENTS.md +381 -0
  2. package/CLAUDE.md +381 -0
  3. package/README.md +10 -3
  4. package/ai-docs/README.md +44 -0
  5. package/ai-docs/package.json +36 -0
  6. package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
  7. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
  8. package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
  9. package/ai-docs/src/01_effect/01_basics/index.md +5 -0
  10. package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
  11. package/ai-docs/src/01_effect/02_schema/index.md +7 -0
  12. package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
  13. package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
  14. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
  15. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
  16. package/ai-docs/src/01_effect/03_services/index.md +5 -0
  17. package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
  18. package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
  19. package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
  20. package/ai-docs/src/01_effect/04_errors/index.md +1 -0
  21. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
  22. package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
  23. package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
  24. package/ai-docs/src/01_effect/05_resources/index.md +3 -0
  25. package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
  26. package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
  27. package/ai-docs/src/01_effect/06_running/index.md +1 -0
  28. package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
  29. package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
  30. package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
  31. package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
  32. package/ai-docs/src/03_stream/30_encoding.ts +165 -0
  33. package/ai-docs/src/03_stream/index.md +4 -0
  34. package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
  35. package/ai-docs/src/04_integration/index.md +5 -0
  36. package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
  37. package/ai-docs/src/05_batching/index.md +3 -0
  38. package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
  39. package/ai-docs/src/06_schedule/index.md +3 -0
  40. package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
  41. package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
  42. package/ai-docs/src/07_datetime/index.md +5 -0
  43. package/ai-docs/src/08_observability/10_logging.ts +66 -0
  44. package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
  45. package/ai-docs/src/08_observability/index.md +7 -0
  46. package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
  47. package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
  48. package/ai-docs/src/09_testing/index.md +1 -0
  49. package/ai-docs/src/10_predicate/01_basics.ts +14 -0
  50. package/ai-docs/src/10_predicate/index.md +9 -0
  51. package/ai-docs/src/50_http-client/10_basics.ts +102 -0
  52. package/ai-docs/src/50_http-client/index.md +3 -0
  53. package/ai-docs/src/51_http-server/10_basics.ts +116 -0
  54. package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
  55. package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
  56. package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
  57. package/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
  58. package/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
  59. package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
  60. package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
  61. package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
  62. package/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
  63. package/ai-docs/src/51_http-server/index.md +3 -0
  64. package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
  65. package/ai-docs/src/60_child-process/index.md +3 -0
  66. package/ai-docs/src/70_cli/10_basics.ts +136 -0
  67. package/ai-docs/src/70_cli/index.md +5 -0
  68. package/ai-docs/src/71_ai/10_language-model.ts +156 -0
  69. package/ai-docs/src/71_ai/20_tools.ts +226 -0
  70. package/ai-docs/src/71_ai/30_chat.ts +158 -0
  71. package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
  72. package/ai-docs/src/71_ai/index.md +5 -0
  73. package/ai-docs/src/80_cluster/10_entities.ts +97 -0
  74. package/ai-docs/src/80_cluster/index.md +4 -0
  75. package/ai-docs/src/index.md +10 -0
  76. package/ai-docs/tsconfig.json +24 -0
  77. package/dist/Mime.js.map +1 -1
  78. package/dist/NodeClusterHttp.d.ts +1 -0
  79. package/dist/NodeClusterHttp.d.ts.map +1 -1
  80. package/dist/NodeClusterHttp.js +6 -1
  81. package/dist/NodeClusterHttp.js.map +1 -1
  82. package/dist/NodeClusterSocket.d.ts +1 -0
  83. package/dist/NodeClusterSocket.d.ts.map +1 -1
  84. package/dist/NodeClusterSocket.js +10 -2
  85. package/dist/NodeClusterSocket.js.map +1 -1
  86. package/dist/NodeCrypto.js.map +1 -1
  87. package/dist/NodeFileSystem.js.map +1 -1
  88. package/dist/NodeHttpClient.d.ts +18 -18
  89. package/dist/NodeHttpClient.d.ts.map +1 -1
  90. package/dist/NodeHttpClient.js +26 -20
  91. package/dist/NodeHttpClient.js.map +1 -1
  92. package/dist/NodeHttpIncomingMessage.js.map +1 -1
  93. package/dist/NodeHttpPlatform.d.ts +8 -4
  94. package/dist/NodeHttpPlatform.d.ts.map +1 -1
  95. package/dist/NodeHttpPlatform.js +38 -0
  96. package/dist/NodeHttpPlatform.js.map +1 -1
  97. package/dist/NodeHttpServer.d.ts +21 -16
  98. package/dist/NodeHttpServer.d.ts.map +1 -1
  99. package/dist/NodeHttpServer.js +29 -21
  100. package/dist/NodeHttpServer.js.map +1 -1
  101. package/dist/NodeHttpServerRequest.js.map +1 -1
  102. package/dist/NodeMultipart.d.ts.map +1 -1
  103. package/dist/NodeMultipart.js +3 -2
  104. package/dist/NodeMultipart.js.map +1 -1
  105. package/dist/NodeMultipartParser.d.ts +97 -0
  106. package/dist/NodeMultipartParser.d.ts.map +1 -0
  107. package/dist/NodeMultipartParser.js +108 -0
  108. package/dist/NodeMultipartParser.js.map +1 -0
  109. package/dist/NodePath.js.map +1 -1
  110. package/dist/NodeRedis.js.map +1 -1
  111. package/dist/NodeRuntime.js.map +1 -1
  112. package/dist/NodeServices.js.map +1 -1
  113. package/dist/NodeSocket.js.map +1 -1
  114. package/dist/NodeStdio.js.map +1 -1
  115. package/dist/NodeTerminal.js.map +1 -1
  116. package/dist/NodeWorker.js.map +1 -1
  117. package/dist/NodeWorkerRunner.d.ts.map +1 -1
  118. package/dist/NodeWorkerRunner.js +30 -18
  119. package/dist/NodeWorkerRunner.js.map +1 -1
  120. package/dist/Undici.d.ts +2 -2
  121. package/dist/Undici.js +2 -2
  122. package/dist/Undici.js.map +1 -1
  123. package/dist/index.d.ts +4 -0
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +4 -0
  126. package/dist/index.js.map +1 -1
  127. package/package.json +16 -14
  128. package/src/NodeClusterHttp.ts +6 -2
  129. package/src/NodeClusterSocket.ts +8 -2
  130. package/src/NodeHttpClient.ts +27 -20
  131. package/src/NodeHttpPlatform.ts +49 -0
  132. package/src/NodeHttpServer.ts +61 -40
  133. package/src/NodeMultipart.ts +5 -4
  134. package/src/NodeMultipartParser.ts +184 -0
  135. package/src/NodeWorkerRunner.ts +39 -23
  136. package/src/Undici.ts +2 -2
  137. package/src/index.ts +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHttpClient.d.ts","sourceRoot":"","sources":["../src/NodeHttpClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAK1C,OAAO,KAAK,MAAM,MAAM,iCAAiC,CAAA;AAOzD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAMnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAMrC,OAAO;AACL;;;;;;;;;;GAUG;AACH,KAAK;AACL;;;;;GAKG;AACH,KAAK,IAAI,UAAU;AACnB;;;;;;;;;GASG;AACH,WAAW,EACZ,MAAM,sCAAsC,CAAA;;AAM7C;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,eAE/B;CAAG;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAG/E,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAA4C,CAAA;AAEhG;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAA8D,CAAA;AAExH;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,oEAGzB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,qDA+BrB,CAAA;AAmLF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAC/C,MAAM,CAAC,UAAU,EACjB,KAAK,EACL,UAAU,CAC6B,CAAA;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAA2D,CAAA;;mBAcjG,IAAI,CAAC,KAAK;oBACT,KAAK,CAAC,KAAK;;AAT7B;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,cAGuB;CAAG;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,aAAc,KAAK,CAAC,YAAY,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAW5G,CAAA;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,KAAK,KAAK,CAAC,KAAK,CACvF,SAAS,CACiC,CAAA;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAuB,CAAA;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,oDAqBvB,CAAA;AAyLF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAC5C,MAAM,CAAC,UAAU,EACjB,KAAK,EACL,SAAS,CACgC,CAAA;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAmD,CAAA"}
1
+ {"version":3,"file":"NodeHttpClient.d.ts","sourceRoot":"","sources":["../src/NodeHttpClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAK1C,OAAO,KAAK,MAAM,MAAM,iCAAiC,CAAA;AAOzD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAMnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAMrC,OAAO;AACL;;;;;;;;;;GAUG;AACH,KAAK;AACL;;;;;GAKG;AACH,KAAK,IAAI,UAAU;AACnB;;;;;;;;;GASG;AACH,WAAW,EACZ,MAAM,sCAAsC,CAAA;;AAM7C;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,eAE/B;CAAG;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAK/E,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAA4C,CAAA;AAEhG;;;;;;GAMG;AAGH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAA8D,CAAA;AAExH;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,oEAGzB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,qDA+BrB,CAAA;AAmLF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAC/C,MAAM,CAAC,UAAU,EACjB,KAAK,EACL,UAAU,CAC6B,CAAA;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAA2D,CAAA;;mBAcjG,IAAI,CAAC,KAAK;oBACT,KAAK,CAAC,KAAK;;AAT7B;;;;;;GAMG;AACH,qBAAa,SAAU,SAAQ,cAGuB;CAAG;AAEzD;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,aAAc,KAAK,CAAC,YAAY,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAW5G,CAAA;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,KAAK,KAAK,CAAC,KAAK,CACvF,SAAS,CACiC,CAAA;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAuB,CAAA;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,oDAwBvB,CAAA;AAyLF;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAC5C,MAAM,CAAC,UAAU,EACjB,KAAK,EACL,SAAS,CACgC,CAAA;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAmD,CAAA"}
@@ -44,14 +44,14 @@ export {
44
44
  * Use to access or override the fetch implementation used by the Node
45
45
  * fetch-based HTTP client.
46
46
  *
47
- * @category fetch
47
+ * @category services
48
48
  * @since 4.0.0
49
49
  */
50
50
  Fetch,
51
51
  /**
52
52
  * Layer that provides the fetch-based HTTP client implementation.
53
53
  *
54
- * @category fetch
54
+ * @category layers
55
55
  * @since 4.0.0
56
56
  */
57
57
  layer as layerFetch,
@@ -62,7 +62,7 @@ layer as layerFetch,
62
62
  *
63
63
  * Use to provide default fetch request options for Node HTTP requests.
64
64
  *
65
- * @category fetch
65
+ * @category services
66
66
  * @since 4.0.0
67
67
  */
68
68
  RequestInit } from "effect/unstable/http/FetchHttpClient";
@@ -73,7 +73,7 @@ RequestInit } from "effect/unstable/http/FetchHttpClient";
73
73
  * Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
74
74
  * client.
75
75
  *
76
- * @category Dispatcher
76
+ * @category services
77
77
  * @since 4.0.0
78
78
  */
79
79
  export class Dispatcher extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/Dispatcher") {}
@@ -81,14 +81,18 @@ export class Dispatcher extends /*#__PURE__*/Context.Service()("@effect/platform
81
81
  * Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
82
82
  * scope is finalized.
83
83
  *
84
- * @category Dispatcher
84
+ * @category resource management
85
85
  * @since 4.0.0
86
86
  */
87
- export const makeDispatcher = /*#__PURE__*/Effect.acquireRelease(/*#__PURE__*/Effect.sync(() => new Undici.Agent()), dispatcher => Effect.promise(() => dispatcher.destroy()));
87
+ export const makeDispatcher = /*#__PURE__*/Effect.acquireRelease(
88
+ /*#__PURE__*/
89
+ // oxlint cannot resolve values re-exported through the local Undici facade.
90
+ // oxlint-disable-next-line import/namespace
91
+ Effect.sync(() => new Undici.Agent()), dispatcher => Effect.promise(() => dispatcher.destroy()));
88
92
  /**
89
93
  * Provides the `Dispatcher` service using a scoped Undici `Agent`.
90
94
  *
91
- * @category Dispatcher
95
+ * @category layers
92
96
  * @since 4.0.0
93
97
  */
94
98
  export const layerDispatcher = /*#__PURE__*/Layer.effect(Dispatcher)(makeDispatcher);
@@ -96,15 +100,17 @@ export const layerDispatcher = /*#__PURE__*/Layer.effect(Dispatcher)(makeDispatc
96
100
  * Provides the `Dispatcher` service from Undici's process-global dispatcher,
97
101
  * without creating or owning a new agent.
98
102
  *
99
- * @category Dispatcher
103
+ * @category layers
100
104
  * @since 4.0.0
101
105
  */
106
+ // oxlint cannot resolve values re-exported through the local Undici facade.
107
+ // oxlint-disable-next-line import/namespace
102
108
  export const dispatcherLayerGlobal = /*#__PURE__*/Layer.sync(Dispatcher)(() => Undici.getGlobalDispatcher());
103
109
  /**
104
110
  * Fiber reference containing default Undici request options applied to requests
105
111
  * sent by `makeUndici`.
106
112
  *
107
- * @category Undici
113
+ * @category services
108
114
  * @since 4.0.0
109
115
  */
110
116
  export const UndiciOptions = /*#__PURE__*/Context.Reference("@effect/platform-node/NodeHttpClient/UndiciOptions", {
@@ -115,7 +121,7 @@ export const UndiciOptions = /*#__PURE__*/Context.Reference("@effect/platform-no
115
121
  * `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
116
122
  * transport and decode failures to `HttpClientError`.
117
123
  *
118
- * @category Undici
124
+ * @category constructors
119
125
  * @since 4.0.0
120
126
  */
121
127
  export const makeUndici = /*#__PURE__*/Effect.gen(function* () {
@@ -296,7 +302,7 @@ class UndiciResponse extends Inspectable.Class {
296
302
  * Provides an Undici-backed `HttpClient` using the current `Dispatcher`
297
303
  * service.
298
304
  *
299
- * @category Undici
305
+ * @category layers
300
306
  * @since 4.0.0
301
307
  */
302
308
  export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedContext(makeUndici);
@@ -304,7 +310,7 @@ export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedContext(ma
304
310
  * Provides an Undici-backed `HttpClient` together with a scoped default
305
311
  * Undici `Agent` dispatcher.
306
312
  *
307
- * @category Undici
313
+ * @category layers
308
314
  * @since 4.0.0
309
315
  */
310
316
  export const layerUndici = /*#__PURE__*/Layer.provide(layerUndiciNoDispatcher, layerDispatcher);
@@ -315,7 +321,7 @@ export const layerUndici = /*#__PURE__*/Layer.provide(layerUndiciNoDispatcher, l
315
321
  * Service tag for the paired Node `http` and `https` agents used by the
316
322
  * node:http-backed HTTP client.
317
323
  *
318
- * @category HttpAgent
324
+ * @category services
319
325
  * @since 4.0.0
320
326
  */
321
327
  export class HttpAgent extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/HttpAgent") {}
@@ -323,7 +329,7 @@ export class HttpAgent extends /*#__PURE__*/Context.Service()("@effect/platform-
323
329
  * Acquires Node `http` and `https` agents with the supplied options and
324
330
  * destroys both agents when the enclosing scope is finalized.
325
331
  *
326
- * @category HttpAgent
332
+ * @category resource management
327
333
  * @since 4.0.0
328
334
  */
329
335
  export const makeAgent = options => Effect.zipWith(Effect.acquireRelease(Effect.sync(() => new Http.Agent(options)), agent => Effect.sync(() => agent.destroy())), Effect.acquireRelease(Effect.sync(() => new Https.Agent(options)), agent => Effect.sync(() => agent.destroy())), (http, https) => ({
@@ -334,7 +340,7 @@ export const makeAgent = options => Effect.zipWith(Effect.acquireRelease(Effect.
334
340
  * Provides the `HttpAgent` service using scoped Node `http` and `https`
335
341
  * agents configured with the supplied options.
336
342
  *
337
- * @category HttpAgent
343
+ * @category layers
338
344
  * @since 4.0.0
339
345
  */
340
346
  export const layerAgentOptions = /*#__PURE__*/flow(makeAgent, /*#__PURE__*/Layer.effect(HttpAgent));
@@ -342,7 +348,7 @@ export const layerAgentOptions = /*#__PURE__*/flow(makeAgent, /*#__PURE__*/Layer
342
348
  * Provides the `HttpAgent` service using default scoped Node `http` and
343
349
  * `https` agents.
344
350
  *
345
- * @category HttpAgent
351
+ * @category layers
346
352
  * @since 4.0.0
347
353
  */
348
354
  export const layerAgent = /*#__PURE__*/layerAgentOptions();
@@ -351,7 +357,7 @@ export const layerAgent = /*#__PURE__*/layerAgentOptions();
351
357
  * current `HttpAgent`, streaming request bodies, and wrapping Node responses
352
358
  * as `HttpClientResponse` values.
353
359
  *
354
- * @category node:http
360
+ * @category constructors
355
361
  * @since 4.0.0
356
362
  */
357
363
  export const makeNodeHttp = /*#__PURE__*/Effect.gen(function* () {
@@ -368,7 +374,7 @@ export const makeNodeHttp = /*#__PURE__*/Effect.gen(function* () {
368
374
  headers: request.headers,
369
375
  signal
370
376
  });
371
- return Effect.forkChild(sendBody(nodeRequest, request, request.body)).pipe(Effect.flatMap(() => waitForResponse(nodeRequest, request)), Effect.map(_ => new NodeHttpResponse(request, _)));
377
+ return Effect.raceFirst(waitForResponse(nodeRequest, request), sendBody(nodeRequest, request, request.body).pipe(Effect.andThen(Effect.never))).pipe(Effect.onError(() => Effect.sync(() => nodeRequest.destroy())), Effect.map(_ => new NodeHttpResponse(request, _)));
372
378
  });
373
379
  });
374
380
  const sendBody = (nodeRequest, request, body) => Effect.suspend(() => {
@@ -518,7 +524,7 @@ class NodeHttpResponse extends NodeHttpIncomingMessage {
518
524
  * Provides a node:http-backed `HttpClient` using the current `HttpAgent`
519
525
  * service.
520
526
  *
521
- * @category node:http
527
+ * @category layers
522
528
  * @since 4.0.0
523
529
  */
524
530
  export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedContext(makeNodeHttp);
@@ -526,7 +532,7 @@ export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedContext(makeN
526
532
  * Provides a node:http-backed `HttpClient` together with default scoped Node
527
533
  * `http` and `https` agents.
528
534
  *
529
- * @category node:http
535
+ * @category layers
530
536
  * @since 4.0.0
531
537
  */
532
538
  export const layerNodeHttp = /*#__PURE__*/Layer.provide(layerNodeHttpNoAgent, layerAgent);
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHttpClient.js","names":["Context","Effect","flow","Inspectable","Layer","Option","pipeArguments","Stream","Cookies","Headers","Client","Error","Response","IncomingMessage","UrlParams","Http","Https","Readable","pipeline","NodeHttpIncomingMessage","NodeSink","NodeStream","Undici","Fetch","layer","layerFetch","RequestInit","Dispatcher","Service","makeDispatcher","acquireRelease","sync","Agent","dispatcher","promise","destroy","layerDispatcher","effect","dispatcherLayerGlobal","getGlobalDispatcher","UndiciOptions","Reference","defaultValue","makeUndici","gen","make","request","url","signal","fiber","convertBody","body","pipe","flatMap","tryPromise","try","getRef","method","headers","origin","path","pathname","search","hash","headersTimeout","bodyTimeout","catch","cause","HttpClientError","reason","TransportError","map","response","UndiciResponse","_tag","succeed","formData","toReadable","stream","noopErrorHandler","_","Class","TypeId","source","constructor","on","status","statusCode","statusText","undefined","fromInput","cachedCookies","cookies","header","fromSetCookie","empty","remoteAddress","none","fromReadable","evaluate","onError","DecodeError","json","text","JSON","parse","textBody","cached","runSync","arrayBufferBody","TextEncoder","encode","buffer","urlParamsBody","URLSearchParams","formDataBody","arrayBuffer","TextDecoder","decode","toJSON","inspect","_id","arguments","layerUndiciNoDispatcher","layerMergedContext","layerUndici","provide","HttpAgent","makeAgent","options","zipWith","agent","http","https","layerAgentOptions","layerAgent","makeNodeHttp","nodeRequest","protocol","forkChild","sendBody","waitForResponse","NodeHttpResponse","suspend","end","waitForFinish","globalThis","forEach","value","key","setHeader","fromWeb","run","mapError","EncodeError","fromWritable","callback","resume","fail","onResponse","off","once","onFinish","void","init","statusMessage","toWeb","layerNodeHttpNoAgent","layerNodeHttp"],"sources":["../src/NodeHttpClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeHttpClient.js","names":[],"sources":["../src/NodeHttpClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHttpIncomingMessage.js","names":["Effect","Inspectable","Option","Headers","IncomingMessage","UrlParams","NodeStream","NodeHttpIncomingMessage","Class","TypeId","source","onError","remoteAddressOverride","constructor","headers","fromInput","remoteAddress","fromNullishOr","socket","textEffect","text","runSync","cached","flatMap","MaxBodySize","maxBodySize","toString","maxBytes","arrayBufferEffect","map","_","TextEncoder","encode","buffer","textUnsafe","json","try","JSON","parse","catch","jsonUnsafe","urlParamsBody","URLSearchParams","stream","fromReadable","evaluate","arrayBuffer","withFiber","fiber","toArrayBuffer","getRef","pipe","TextDecoder","decode"],"sources":["../src/NodeHttpIncomingMessage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeHttpIncomingMessage.js","names":[],"sources":["../src/NodeHttpIncomingMessage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,7 @@
1
+ import * as Effect from "effect/Effect";
1
2
  import * as Layer from "effect/Layer";
2
3
  import * as EtagImpl from "effect/unstable/http/Etag";
4
+ import * as HttpBody from "effect/unstable/http/HttpBody";
3
5
  import * as Platform from "effect/unstable/http/HttpPlatform";
4
6
  import * as ServerResponse from "effect/unstable/http/HttpServerResponse";
5
7
  /**
@@ -9,17 +11,19 @@ import * as ServerResponse from "effect/unstable/http/HttpServerResponse";
9
11
  * @category constructors
10
12
  * @since 4.0.0
11
13
  */
12
- export declare const make: import("effect/Effect").Effect<{
14
+ export declare const make: Effect.Effect<{
15
+ readonly platform: "deno" | "node" | "bun" | "web";
16
+ readonly compression: Platform.Compression;
13
17
  readonly fileResponse: (path: string, options?: ServerResponse.Options.WithContent & {
14
18
  readonly bytesToRead?: import("effect/FileSystem").SizeInput | undefined;
15
19
  readonly chunkSize?: import("effect/FileSystem").SizeInput | undefined;
16
20
  readonly offset?: import("effect/FileSystem").SizeInput | undefined;
17
- }) => import("effect/Effect").Effect<ServerResponse.HttpServerResponse, import("effect/PlatformError").PlatformError>;
18
- readonly fileWebResponse: (file: import("effect/unstable/http/HttpBody").HttpBody.FileLike, options?: ServerResponse.Options.WithContent & {
21
+ }) => Effect.Effect<ServerResponse.HttpServerResponse, import("effect/PlatformError").PlatformError>;
22
+ readonly fileWebResponse: (file: HttpBody.HttpBody.FileLike, options?: ServerResponse.Options.WithContent & {
19
23
  readonly bytesToRead?: import("effect/FileSystem").SizeInput | undefined;
20
24
  readonly chunkSize?: import("effect/FileSystem").SizeInput | undefined;
21
25
  readonly offset?: import("effect/FileSystem").SizeInput | undefined;
22
- }) => import("effect/Effect").Effect<ServerResponse.HttpServerResponse>;
26
+ }) => Effect.Effect<ServerResponse.HttpServerResponse>;
23
27
  }, never, import("effect/FileSystem").FileSystem | EtagImpl.Generator>;
24
28
  /**
25
29
  * Provides the Node `HttpPlatform` together with the filesystem and ETag
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHttpPlatform.d.ts","sourceRoot":"","sources":["../src/NodeHttpPlatform.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAErD,OAAO,KAAK,QAAQ,MAAM,mCAAmC,CAAA;AAC7D,OAAO,KAAK,cAAc,MAAM,yCAAyC,CAAA;AAMzE;;;;;;GAMG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;sEA4Bf,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAIpD,CAAA"}
1
+ {"version":3,"file":"NodeHttpPlatform.d.ts","sourceRoot":"","sources":["../src/NodeHttpPlatform.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAErD,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AACzD,OAAO,KAAK,QAAQ,MAAM,mCAAmC,CAAA;AAC7D,OAAO,KAAK,cAAc,MAAM,yCAAyC,CAAA;AAkDzE;;;;;;GAMG;AACH,eAAO,MAAM,IAAI;;;;;;;;;;;;;sEA8Bf,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAIpD,CAAA"}
@@ -8,16 +8,52 @@
8
8
  *
9
9
  * @since 4.0.0
10
10
  */
11
+ import * as NodeHttpCompression from "@effect/platform-node-shared/NodeHttpCompression";
12
+ import * as Effect from "effect/Effect";
11
13
  import { pipe } from "effect/Function";
12
14
  import * as Layer from "effect/Layer";
13
15
  import * as EtagImpl from "effect/unstable/http/Etag";
14
16
  import * as Headers from "effect/unstable/http/Headers";
17
+ import * as HttpBody from "effect/unstable/http/HttpBody";
15
18
  import * as Platform from "effect/unstable/http/HttpPlatform";
16
19
  import * as ServerResponse from "effect/unstable/http/HttpServerResponse";
17
20
  import * as Fs from "node:fs";
18
21
  import { Readable } from "node:stream";
19
22
  import Mime from "./Mime.js";
20
23
  import * as NodeFileSystem from "./NodeFileSystem.js";
24
+ import * as NodeStream from "./NodeStream.js";
25
+ // replaces the response body while keeping every other field, dropping the
26
+ // now-stale Content-Length header
27
+ const compressedBody = (response, body) => ServerResponse.removeHeader(ServerResponse.setBody(response, body), "content-length");
28
+ const compression = /*#__PURE__*/NodeHttpCompression.make({
29
+ algorithms: NodeHttpCompression.algorithms,
30
+ compressResponse(response, algorithm, options) {
31
+ const body = response.body;
32
+ switch (body._tag) {
33
+ case "Stream":
34
+ {
35
+ return Effect.succeed(compressedBody(response, HttpBody.stream(NodeStream.pipeThroughDuplex(body.stream, {
36
+ evaluate: () => NodeHttpCompression.compressTransform(algorithm, options)
37
+ }), body.contentType)));
38
+ }
39
+ case "Raw":
40
+ {
41
+ const readable = body.body instanceof Readable ? body.body : Readable.fromWeb(new Response(body.body).body);
42
+ const transform = NodeHttpCompression.compressTransform(algorithm, options);
43
+ readable.on("error", cause => transform.destroy(cause));
44
+ transform.on("error", cause => readable.destroy(cause));
45
+ transform.on("close", () => readable.destroy());
46
+ return Effect.succeed(compressedBody(response, HttpBody.raw(readable.pipe(transform), {
47
+ contentType: body.contentType
48
+ })));
49
+ }
50
+ default:
51
+ {
52
+ return Effect.succeed(response);
53
+ }
54
+ }
55
+ }
56
+ });
21
57
  /**
22
58
  * Creates the Node `HttpPlatform`, serving file responses from Node readable
23
59
  * streams and adding MIME type and content-length headers when needed.
@@ -26,6 +62,8 @@ import * as NodeFileSystem from "./NodeFileSystem.js";
26
62
  * @since 4.0.0
27
63
  */
28
64
  export const make = /*#__PURE__*/Platform.make({
65
+ platform: "node",
66
+ compression,
29
67
  fileResponse(path, status, statusText, headers, start, end, contentLength) {
30
68
  const stream = contentLength === 0 ? Readable.from([]) : Fs.createReadStream(path, {
31
69
  start,
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHttpPlatform.js","names":["pipe","Layer","EtagImpl","Headers","Platform","ServerResponse","Fs","Readable","Mime","NodeFileSystem","make","fileResponse","path","status","statusText","headers","start","end","contentLength","stream","from","createReadStream","undefined","raw","getType","toString","fileWebResponse","file","_options","fromWeb","merge","fromRecordUnsafe","name","size","layer","effect","HttpPlatform","provide"],"sources":["../src/NodeHttpPlatform.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;AAUA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,2BAA2B;AACrD,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AACvD,OAAO,KAAKC,QAAQ,MAAM,mCAAmC;AAC7D,OAAO,KAAKC,cAAc,MAAM,yCAAyC;AACzE,OAAO,KAAKC,EAAE,MAAM,SAAS;AAC7B,SAASC,QAAQ,QAAQ,aAAa;AACtC,OAAOC,IAAI,MAAM,WAAW;AAC5B,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;;;;;AAOA,OAAO,MAAMC,IAAI,gBAAGN,QAAQ,CAACM,IAAI,CAAC;EAChCC,YAAYA,CAACC,IAAI,EAAEC,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEC,KAAK,EAAEC,GAAG,EAAEC,aAAa;IACvE,MAAMC,MAAM,GAAGD,aAAa,KAAK,CAAC,GAC9BX,QAAQ,CAACa,IAAI,CAAC,EAAE,CAAC,GACjBd,EAAE,CAACe,gBAAgB,CAACT,IAAI,EAAE;MAAEI,KAAK;MAAEC,GAAG,EAAEA,GAAG,KAAKK,SAAS,GAAGA,SAAS,GAAGL,GAAG,GAAG;IAAC,CAAE,CAAC;IACtF,OAAOZ,cAAc,CAACkB,GAAG,CAACJ,MAAM,EAAE;MAChCJ,OAAO,EAAE;QACP,GAAGA,OAAO;QACV,cAAc,EAAEA,OAAO,CAAC,cAAc,CAAC,IAAIP,IAAI,CAACgB,OAAO,CAACZ,IAAI,CAAC,IAAI,0BAA0B;QAC3F,gBAAgB,EAAEM,aAAa,CAACO,QAAQ;OACzC;MACDZ,MAAM;MACNC;KACD,CAAC;EACJ,CAAC;EACDY,eAAeA,CAACC,IAAI,EAAEd,MAAM,EAAEC,UAAU,EAAEC,OAAO,EAAEa,QAAQ;IACzD,OAAOvB,cAAc,CAACkB,GAAG,CAAChB,QAAQ,CAACsB,OAAO,CAACF,IAAI,CAACR,MAAM,EAAS,CAAC,EAAE;MAChEJ,OAAO,EAAEZ,OAAO,CAAC2B,KAAK,CACpBf,OAAO,EACPZ,OAAO,CAAC4B,gBAAgB,CAAC;QACvB,cAAc,EAAEhB,OAAO,CAAC,cAAc,CAAC,IAAIP,IAAI,CAACgB,OAAO,CAACG,IAAI,CAACK,IAAI,CAAC,IAAI,0BAA0B;QAChG,gBAAgB,EAAEL,IAAI,CAACM,IAAI,CAACR,QAAQ;OACrC,CAAC,CACH;MACDZ,MAAM;MACNC;KACD,CAAC;EACJ;CACD,CAAC;AAEF;;;;;;;AAOA,OAAO,MAAMoB,KAAK,gBAAuClC,IAAI,cAC3DC,KAAK,CAACkC,MAAM,CAAC/B,QAAQ,CAACgC,YAAY,CAAC,CAAC1B,IAAI,CAAC,eACzCT,KAAK,CAACoC,OAAO,CAAC5B,cAAc,CAACyB,KAAK,CAAC,eACnCjC,KAAK,CAACoC,OAAO,CAACnC,QAAQ,CAACgC,KAAK,CAAC,CAC9B","ignoreList":[]}
1
+ {"version":3,"file":"NodeHttpPlatform.js","names":[],"sources":["../src/NodeHttpPlatform.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,23 @@ import type * as Net from "node:net";
19
19
  import type { Duplex } from "node:stream";
20
20
  import * as NodeServices from "./NodeServices.ts";
21
21
  import { NodeWS } from "./NodeSocket.ts";
22
+ /**
23
+ * Options accepted by the Node `HttpServer` constructors and layers.
24
+ *
25
+ * @category options
26
+ * @since 4.0.0
27
+ */
28
+ export interface Options extends Net.ListenOptions {
29
+ readonly disablePreemptiveShutdown?: boolean | undefined;
30
+ readonly gracefulShutdownTimeout?: Duration.Input | undefined;
31
+ /**
32
+ * Options forwarded to the underlying `ws` `WebSocketServer`, minus the
33
+ * wiring options the server manages itself. Use this to enable
34
+ * `permessage-deflate` compression or tune payload limits, e.g.
35
+ * `websocket: { perMessageDeflate: true }`.
36
+ */
37
+ readonly websocket?: Omit<NodeWS.ServerOptions, "noServer" | "server" | "host" | "port" | "path"> | undefined;
38
+ }
22
39
  /**
23
40
  * Creates a scoped `HttpServer` from a Node `http.Server`, starts listening
24
41
  * with the supplied options, registers request and upgrade handling, and closes
@@ -27,10 +44,7 @@ import { NodeWS } from "./NodeSocket.ts";
27
44
  * @category constructors
28
45
  * @since 4.0.0
29
46
  */
30
- export declare const make: (evaluate: LazyArg<Http.Server<typeof Http.IncomingMessage, typeof Http.ServerResponse>>, options: Net.ListenOptions & {
31
- readonly disablePreemptiveShutdown?: boolean | undefined;
32
- readonly gracefulShutdownTimeout?: Duration.Input | undefined;
33
- }) => Effect.Effect<{
47
+ export declare const make: (evaluate: LazyArg<Http.Server<typeof Http.IncomingMessage, typeof Http.ServerResponse>>, options: Options) => Effect.Effect<{
34
48
  readonly serve: {
35
49
  <E, R>(effect: Effect.Effect<HttpServerResponse, E, R>): Effect.Effect<void, never, Exclude<R, HttpServerRequest> | Scope.Scope>;
36
50
  <E, R, App extends Effect.Effect<HttpServerResponse, any, any>>(effect: Effect.Effect<HttpServerResponse, E, R>, middleware: Middleware.HttpMiddleware.Applied<App, E, R>): Effect.Effect<void, never, Exclude<R, HttpServerRequest> | Scope.Scope>;
@@ -68,10 +82,7 @@ export declare const makeUpgradeHandler: <R, E, App extends Effect.Effect<HttpSe
68
82
  * @category layers
69
83
  * @since 4.0.0
70
84
  */
71
- export declare const layerServer: (evaluate: LazyArg<Http.Server<typeof Http.IncomingMessage, typeof Http.ServerResponse>>, options: Net.ListenOptions & {
72
- readonly disablePreemptiveShutdown?: boolean | undefined;
73
- readonly gracefulShutdownTimeout?: Duration.Input | undefined;
74
- }) => Layer.Layer<HttpServer.HttpServer, ServeError>;
85
+ export declare const layerServer: (evaluate: LazyArg<Http.Server<typeof Http.IncomingMessage, typeof Http.ServerResponse>>, options: Options) => Layer.Layer<HttpServer.HttpServer, ServeError>;
75
86
  /**
76
87
  * Provides the Node HTTP support services used by `NodeHttpServer`, including
77
88
  * the HTTP platform, ETag generator, and core Node platform services.
@@ -87,10 +98,7 @@ export declare const layerHttpServices: Layer.Layer<NodeServices.NodeServices |
87
98
  * @category layers
88
99
  * @since 4.0.0
89
100
  */
90
- export declare const layer: (evaluate: LazyArg<Http.Server>, options: Net.ListenOptions & {
91
- readonly disablePreemptiveShutdown?: boolean | undefined;
92
- readonly gracefulShutdownTimeout?: Duration.Input | undefined;
93
- }) => Layer.Layer<HttpServer.HttpServer | NodeServices.NodeServices | HttpPlatform.HttpPlatform | Etag.Generator, ServeError>;
101
+ export declare const layer: (evaluate: LazyArg<Http.Server>, options: Options) => Layer.Layer<HttpServer.HttpServer | NodeServices.NodeServices | HttpPlatform.HttpPlatform | Etag.Generator, ServeError>;
94
102
  /**
95
103
  * Provides a Node `HttpServer` together with the Node HTTP platform, ETag,
96
104
  * and core Node platform services, reading the listen and shutdown options from
@@ -99,10 +107,7 @@ export declare const layer: (evaluate: LazyArg<Http.Server>, options: Net.Listen
99
107
  * @category layers
100
108
  * @since 4.0.0
101
109
  */
102
- export declare const layerConfig: (evaluate: LazyArg<Http.Server>, options: Config.Wrap<Net.ListenOptions & {
103
- readonly disablePreemptiveShutdown?: boolean | undefined;
104
- readonly gracefulShutdownTimeout?: Duration.Input | undefined;
105
- }>) => Layer.Layer<HttpServer.HttpServer | NodeServices.NodeServices | HttpPlatform.HttpPlatform | Etag.Generator, ServeError | Config.ConfigError>;
110
+ export declare const layerConfig: (evaluate: LazyArg<Http.Server>, options: Config.Wrap<Options>) => Layer.Layer<HttpServer.HttpServer | NodeServices.NodeServices | HttpPlatform.HttpPlatform | Etag.Generator, ServeError | Config.ConfigError>;
106
111
  /**
107
112
  * Provides a test HTTP server listening on an ephemeral port together with a
108
113
  * Fetch-backed `HttpClient` configured for server integration tests.
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHttpServer.d.ts","sourceRoot":"","sources":["../src/NodeHttpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeHttpServer.d.ts","sourceRoot":"","sources":["../src/NodeHttpServer.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (evaluate, options)
83
83
  });
84
84
  const address = server.address();
85
85
  const wss = yield* Effect.acquireRelease(Effect.sync(() => new NodeWS.WebSocketServer({
86
+ ...options.websocket,
86
87
  noServer: true
87
88
  })), wss => Effect.callback(resume => {
88
89
  wss.close(() => resume(Effect.void));
@@ -130,9 +131,8 @@ export const makeHandler = (httpEffect, options) => {
130
131
  return Effect.withFiber(parent => {
131
132
  const services = parent.context;
132
133
  return Effect.succeed(function handler(nodeRequest, nodeResponse) {
133
- const map = new Map(services.mapUnsafe);
134
- map.set(HttpServerRequest.key, new ServerRequestImpl(nodeRequest, nodeResponse));
135
- const fiber = Fiber.runIn(Effect.runForkWith(Context.makeUnsafe(map))(handled), options.scope);
134
+ const context = Context.add(services, HttpServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse));
135
+ const fiber = Fiber.runIn(Effect.runForkWith(context)(handled), options.scope);
136
136
  nodeResponse.on("close", () => {
137
137
  if (!nodeResponse.writableEnded) {
138
138
  fiber.interruptUnsafe(parent.id, ClientAbort.annotation);
@@ -168,9 +168,9 @@ export const makeUpgradeHandler = (lazyWss, httpEffect, options) => {
168
168
  const upgradeEffect = Socket.fromWebSocket(Effect.flatMap(lazyWss, wss => Effect.acquireRelease(Effect.callback(resume => wss.handleUpgrade(nodeRequest, socket, head, ws => {
169
169
  resume(Effect.succeed(ws));
170
170
  })), ws => Effect.sync(() => ws.close()))));
171
- const map = new Map(services.mapUnsafe);
172
- map.set(HttpServerRequest.key, new ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect));
173
- const fiber = Fiber.runIn(Effect.runForkWith(Context.makeUnsafe(map))(handledApp), options.scope);
171
+ const context = Context.add(services, HttpServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect));
172
+ const fiber = Fiber.runIn(Effect.runForkWith(context)(handledApp), options.scope);
173
+ socket.on("error", () => {});
174
174
  socket.on("close", () => {
175
175
  if (!socket.writableEnded) {
176
176
  fiber.interruptUnsafe(parent.id, ClientAbort.annotation);
@@ -214,8 +214,9 @@ class ServerRequestImpl extends NodeHttpIncomingMessage {
214
214
  get originalUrl() {
215
215
  return this.source.url;
216
216
  }
217
+ cachedMethod;
217
218
  get method() {
218
- return this.source.method.toUpperCase();
219
+ return this.cachedMethod ??= this.source.method.toUpperCase();
219
220
  }
220
221
  get headers() {
221
222
  this.headersOverride ??= this.source.headers;
@@ -317,9 +318,17 @@ const handleResponse = (request, response) => {
317
318
  }
318
319
  if (request.method === "HEAD") {
319
320
  nodeResponse.writeHead(response.status, headers);
320
- return Effect.callback(resume => {
321
- nodeResponse.end(() => resume(Effect.void));
322
- });
321
+ return Effect.andThen(cancelResponseBody(response.body), Effect.callback(resume => {
322
+ let completed = false;
323
+ const done = () => {
324
+ if (completed) return;
325
+ completed = true;
326
+ nodeResponse.off("close", done);
327
+ resume(Effect.void);
328
+ };
329
+ nodeResponse.once("close", done);
330
+ nodeResponse.end(done);
331
+ }));
323
332
  }
324
333
  const body = response.body;
325
334
  switch (body._tag) {
@@ -396,17 +405,9 @@ const handleResponse = (request, response) => {
396
405
  const drainLatch = Latch.makeUnsafe();
397
406
  nodeResponse.on("drain", () => drainLatch.openUnsafe());
398
407
  return body.stream.pipe(Stream.orDie, Stream.runForEachArray(array => {
399
- let needDrain = false;
400
- for (let i = 0; i < array.length; i++) {
401
- const written = nodeResponse.write(array[i]);
402
- if (!written && !needDrain) {
403
- needDrain = true;
404
- drainLatch.closeUnsafe();
405
- } else if (written && needDrain) {
406
- needDrain = false;
407
- }
408
- }
409
- if (!needDrain) return Effect.void;
408
+ const chunk = array.length > 1 ? Buffer.concat(array) : array[0];
409
+ if (nodeResponse.write(chunk)) return Effect.void;
410
+ drainLatch.closeUnsafe();
410
411
  return drainLatch.await;
411
412
  }), Effect.interruptible, Effect.matchCauseEffect({
412
413
  onSuccess: () => Effect.sync(() => nodeResponse.end()),
@@ -415,6 +416,13 @@ const handleResponse = (request, response) => {
415
416
  }
416
417
  }
417
418
  };
419
+ const cancelResponseBody = body => {
420
+ const stream = body._tag === "Raw" ? body.body : undefined;
421
+ if (stream instanceof Readable) {
422
+ return Effect.sync(() => stream.destroy());
423
+ }
424
+ return Effect.void;
425
+ };
418
426
  const handleCause = (nodeResponse, originalResponse) => originalCause => Effect.flatMap(causeResponse(originalCause), ([response, cause]) => {
419
427
  const headersSent = nodeResponse.headersSent;
420
428
  if (!headersSent) {