@effect/platform-node 4.0.0-beta.7 → 4.0.0-beta.71

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 (123) hide show
  1. package/dist/Mime.d.ts +9 -3
  2. package/dist/Mime.d.ts.map +1 -1
  3. package/dist/Mime.js +9 -3
  4. package/dist/Mime.js.map +1 -1
  5. package/dist/NodeChildProcessSpawner.d.ts +1 -1
  6. package/dist/NodeChildProcessSpawner.js +1 -1
  7. package/dist/NodeClusterHttp.d.ts +49 -7
  8. package/dist/NodeClusterHttp.d.ts.map +1 -1
  9. package/dist/NodeClusterHttp.js +20 -10
  10. package/dist/NodeClusterHttp.js.map +1 -1
  11. package/dist/NodeClusterSocket.d.ts +57 -11
  12. package/dist/NodeClusterSocket.d.ts.map +1 -1
  13. package/dist/NodeClusterSocket.js +57 -11
  14. package/dist/NodeClusterSocket.js.map +1 -1
  15. package/dist/NodeCrypto.d.ts +10 -0
  16. package/dist/NodeCrypto.d.ts.map +1 -0
  17. package/dist/NodeCrypto.js +22 -0
  18. package/dist/NodeCrypto.js.map +1 -0
  19. package/dist/NodeFileSystem.d.ts +4 -2
  20. package/dist/NodeFileSystem.d.ts.map +1 -1
  21. package/dist/NodeFileSystem.js +30 -3
  22. package/dist/NodeFileSystem.js.map +1 -1
  23. package/dist/NodeHttpClient.d.ts +111 -24
  24. package/dist/NodeHttpClient.d.ts.map +1 -1
  25. package/dist/NodeHttpClient.js +133 -28
  26. package/dist/NodeHttpClient.js.map +1 -1
  27. package/dist/NodeHttpIncomingMessage.d.ts +43 -9
  28. package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
  29. package/dist/NodeHttpIncomingMessage.js +47 -8
  30. package/dist/NodeHttpIncomingMessage.js.map +1 -1
  31. package/dist/NodeHttpPlatform.d.ts +10 -4
  32. package/dist/NodeHttpPlatform.d.ts.map +1 -1
  33. package/dist/NodeHttpPlatform.js +34 -7
  34. package/dist/NodeHttpPlatform.js.map +1 -1
  35. package/dist/NodeHttpServer.d.ts +56 -16
  36. package/dist/NodeHttpServer.d.ts.map +1 -1
  37. package/dist/NodeHttpServer.js +117 -49
  38. package/dist/NodeHttpServer.js.map +1 -1
  39. package/dist/NodeHttpServerRequest.d.ts +29 -3
  40. package/dist/NodeHttpServerRequest.d.ts.map +1 -1
  41. package/dist/NodeHttpServerRequest.js +9 -2
  42. package/dist/NodeHttpServerRequest.js.map +1 -1
  43. package/dist/NodeMultipart.d.ts +47 -4
  44. package/dist/NodeMultipart.d.ts.map +1 -1
  45. package/dist/NodeMultipart.js +47 -4
  46. package/dist/NodeMultipart.js.map +1 -1
  47. package/dist/NodePath.d.ts +15 -6
  48. package/dist/NodePath.d.ts.map +1 -1
  49. package/dist/NodePath.js +43 -7
  50. package/dist/NodePath.js.map +1 -1
  51. package/dist/NodeRedis.d.ts +56 -9
  52. package/dist/NodeRedis.d.ts.map +1 -1
  53. package/dist/NodeRedis.js +59 -12
  54. package/dist/NodeRedis.js.map +1 -1
  55. package/dist/NodeRuntime.d.ts +27 -36
  56. package/dist/NodeRuntime.d.ts.map +1 -1
  57. package/dist/NodeRuntime.js +38 -13
  58. package/dist/NodeRuntime.js.map +1 -1
  59. package/dist/NodeServices.d.ts +44 -5
  60. package/dist/NodeServices.d.ts.map +1 -1
  61. package/dist/NodeServices.js +7 -3
  62. package/dist/NodeServices.js.map +1 -1
  63. package/dist/NodeSink.d.ts +2 -2
  64. package/dist/NodeSink.js +2 -2
  65. package/dist/NodeSocket.d.ts +18 -3
  66. package/dist/NodeSocket.d.ts.map +1 -1
  67. package/dist/NodeSocket.js +51 -4
  68. package/dist/NodeSocket.js.map +1 -1
  69. package/dist/NodeSocketServer.d.ts +2 -2
  70. package/dist/NodeSocketServer.js +2 -2
  71. package/dist/NodeStdio.d.ts +5 -2
  72. package/dist/NodeStdio.d.ts.map +1 -1
  73. package/dist/NodeStdio.js +30 -3
  74. package/dist/NodeStdio.js.map +1 -1
  75. package/dist/NodeStream.d.ts +2 -2
  76. package/dist/NodeStream.js +2 -2
  77. package/dist/NodeTerminal.d.ts +8 -2
  78. package/dist/NodeTerminal.d.ts.map +1 -1
  79. package/dist/NodeTerminal.js +29 -3
  80. package/dist/NodeTerminal.js.map +1 -1
  81. package/dist/NodeWorker.d.ts +9 -2
  82. package/dist/NodeWorker.d.ts.map +1 -1
  83. package/dist/NodeWorker.js +45 -6
  84. package/dist/NodeWorker.js.map +1 -1
  85. package/dist/NodeWorkerRunner.d.ts +5 -1
  86. package/dist/NodeWorkerRunner.d.ts.map +1 -1
  87. package/dist/NodeWorkerRunner.js +47 -5
  88. package/dist/NodeWorkerRunner.js.map +1 -1
  89. package/dist/Undici.d.ts +16 -3
  90. package/dist/Undici.d.ts.map +1 -1
  91. package/dist/Undici.js +16 -3
  92. package/dist/Undici.js.map +1 -1
  93. package/dist/index.d.ts +28 -26
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +28 -26
  96. package/dist/index.js.map +1 -1
  97. package/package.json +9 -9
  98. package/src/Mime.ts +10 -3
  99. package/src/NodeChildProcessSpawner.ts +1 -1
  100. package/src/NodeClusterHttp.ts +54 -11
  101. package/src/NodeClusterSocket.ts +57 -11
  102. package/src/NodeCrypto.ts +24 -0
  103. package/src/NodeFileSystem.ts +30 -3
  104. package/src/NodeHttpClient.ts +141 -33
  105. package/src/NodeHttpIncomingMessage.ts +55 -12
  106. package/src/NodeHttpPlatform.ts +35 -6
  107. package/src/NodeHttpServer.ts +139 -53
  108. package/src/NodeHttpServerRequest.ts +29 -3
  109. package/src/NodeMultipart.ts +47 -4
  110. package/src/NodePath.ts +43 -7
  111. package/src/NodeRedis.ts +61 -14
  112. package/src/NodeRuntime.ts +56 -37
  113. package/src/NodeServices.ts +46 -5
  114. package/src/NodeSink.ts +2 -2
  115. package/src/NodeSocket.ts +56 -4
  116. package/src/NodeSocketServer.ts +2 -2
  117. package/src/NodeStdio.ts +30 -3
  118. package/src/NodeStream.ts +2 -2
  119. package/src/NodeTerminal.ts +29 -3
  120. package/src/NodeWorker.ts +45 -6
  121. package/src/NodeWorkerRunner.ts +47 -5
  122. package/src/Undici.ts +16 -3
  123. package/src/index.ts +29 -26
@@ -1,110 +1,197 @@
1
1
  /**
2
- * @since 1.0.0
3
- */
2
+ * Node.js implementations of the Effect `HttpClient`.
3
+ *
4
+ * This module supplies Node runtime backends for the platform-independent
5
+ * Effect HTTP client API. It re-exports the fetch-based client, defines an
6
+ * Undici-backed client, and defines a lower-level `node:http` / `node:https`
7
+ * client for integrations that need native agent configuration.
8
+ *
9
+ * **Mental model**
10
+ *
11
+ * All backends provide the same `HttpClient` service, so application code can
12
+ * depend on the Effect HTTP client interface while the layer chooses the Node
13
+ * implementation. The difference is where request execution and connection
14
+ * ownership live: fetch uses `globalThis.fetch`, Undici sends through a
15
+ * `Dispatcher`, and the `node:http` backend sends through scoped HTTP and HTTPS
16
+ * agents.
17
+ *
18
+ * **Common tasks**
19
+ *
20
+ * Use `layerFetch` when the built-in fetch implementation is enough. Use
21
+ * `layerUndici` for a scoped Undici `Agent`, or `layerUndiciNoDispatcher` when
22
+ * the caller provides the `Dispatcher` service, including the process-global
23
+ * dispatcher from `dispatcherLayerGlobal`. Use `layerNodeHttp` or
24
+ * `layerAgentOptions` when TLS, proxy, keep-alive, socket, or other native
25
+ * Node agent options must be configured directly.
26
+ *
27
+ * **Gotchas**
28
+ *
29
+ * Fetch, Undici, and `node:http` are not exact substitutes. They differ in
30
+ * dispatcher and agent hooks, request body support, abort behavior, upgrade
31
+ * support, and response body readers. Scoped layers destroy the agents or
32
+ * dispatchers they create when the layer scope ends; `dispatcherLayerGlobal`
33
+ * intentionally does not own or destroy Undici's process-global dispatcher.
34
+ * Body read failures are reported as `HttpClientError` decode or transport
35
+ * errors.
36
+ *
37
+ * @since 4.0.0
38
+ */
39
+ import * as Context from "effect/Context";
4
40
  import * as Effect from "effect/Effect";
5
41
  import * as Layer from "effect/Layer";
6
42
  import type * as Scope from "effect/Scope";
7
- import * as ServiceMap from "effect/ServiceMap";
8
43
  import * as Client from "effect/unstable/http/HttpClient";
9
44
  import * as Http from "node:http";
10
45
  import * as Https from "node:https";
11
46
  import * as Undici from "./Undici.ts";
12
47
  export {
13
48
  /**
14
- * @since 1.0.0
49
+ * Fetch-based HTTP client implementation for Node.js.
50
+ *
15
51
  * @category Fetch
52
+ * @since 4.0.0
16
53
  */
17
54
  Fetch,
18
55
  /**
19
- * @since 1.0.0
56
+ * Layer that provides the fetch-based HTTP client implementation.
57
+ *
20
58
  * @category Fetch
59
+ * @since 4.0.0
21
60
  */
22
61
  layer as layerFetch,
23
62
  /**
24
- * @since 1.0.0
63
+ * Request initialization options accepted by the fetch-based HTTP client.
64
+ *
25
65
  * @category Fetch
66
+ * @since 4.0.0
26
67
  */
27
68
  RequestInit } from "effect/unstable/http/FetchHttpClient";
28
- declare const Dispatcher_base: ServiceMap.ServiceClass<Dispatcher, "@effect/platform-node/NodeHttpClient/Dispatcher", Undici.Dispatcher>;
69
+ declare const Dispatcher_base: Context.ServiceClass<Dispatcher, "@effect/platform-node/NodeHttpClient/Dispatcher", Undici.Dispatcher>;
29
70
  /**
30
- * @since 1.0.0
71
+ * Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
72
+ * client.
73
+ *
31
74
  * @category Dispatcher
75
+ * @since 4.0.0
32
76
  */
33
77
  export declare class Dispatcher extends Dispatcher_base {
34
78
  }
35
79
  /**
36
- * @since 1.0.0
80
+ * Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
81
+ * scope is finalized.
82
+ *
37
83
  * @category Dispatcher
84
+ * @since 4.0.0
38
85
  */
39
86
  export declare const makeDispatcher: Effect.Effect<Undici.Dispatcher, never, Scope.Scope>;
40
87
  /**
41
- * @since 1.0.0
88
+ * Provides the `Dispatcher` service using a scoped Undici `Agent`.
89
+ *
42
90
  * @category Dispatcher
91
+ * @since 4.0.0
43
92
  */
44
93
  export declare const layerDispatcher: Layer.Layer<Dispatcher>;
45
94
  /**
46
- * @since 1.0.0
95
+ * Provides the `Dispatcher` service from Undici's process-global dispatcher,
96
+ * without creating or owning a new agent.
97
+ *
47
98
  * @category Dispatcher
99
+ * @since 4.0.0
48
100
  */
49
101
  export declare const dispatcherLayerGlobal: Layer.Layer<Dispatcher>;
50
102
  /**
51
- * @since 1.0.0
103
+ * Fiber reference containing default Undici request options applied to requests
104
+ * sent by `makeUndici`.
105
+ *
52
106
  * @category undici
107
+ * @since 4.0.0
53
108
  */
54
- export declare const UndiciOptions: ServiceMap.Reference<Partial<Undici.Dispatcher.RequestOptions<null>>>;
109
+ export declare const UndiciOptions: Context.Reference<Partial<Undici.Dispatcher.RequestOptions<null>>>;
55
110
  /**
56
- * @since 1.0.0
111
+ * Creates an `HttpClient` that sends requests through the current Undici
112
+ * `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
113
+ * transport and decode failures to `HttpClientError`.
114
+ *
57
115
  * @category undici
116
+ * @since 4.0.0
58
117
  */
59
118
  export declare const makeUndici: Effect.Effect<Client.HttpClient, never, Dispatcher>;
60
119
  /**
61
- * @since 1.0.0
120
+ * Provides an Undici-backed `HttpClient` using the current `Dispatcher`
121
+ * service.
122
+ *
62
123
  * @category Undici
124
+ * @since 4.0.0
63
125
  */
64
126
  export declare const layerUndiciNoDispatcher: Layer.Layer<Client.HttpClient, never, Dispatcher>;
65
127
  /**
66
- * @since 1.0.0
128
+ * Provides an Undici-backed `HttpClient` together with a scoped default
129
+ * Undici `Agent` dispatcher.
130
+ *
67
131
  * @category Undici
132
+ * @since 4.0.0
68
133
  */
69
134
  export declare const layerUndici: Layer.Layer<Client.HttpClient>;
70
- declare const HttpAgent_base: ServiceMap.ServiceClass<HttpAgent, "@effect/platform-node/NodeHttpClient/HttpAgent", {
135
+ declare const HttpAgent_base: Context.ServiceClass<HttpAgent, "@effect/platform-node/NodeHttpClient/HttpAgent", {
71
136
  readonly http: Http.Agent;
72
137
  readonly https: Https.Agent;
73
138
  }>;
74
139
  /**
75
- * @since 1.0.0
140
+ * Service tag for the paired Node `http` and `https` agents used by the
141
+ * node:http-backed HTTP client.
142
+ *
76
143
  * @category HttpAgent
144
+ * @since 4.0.0
77
145
  */
78
146
  export declare class HttpAgent extends HttpAgent_base {
79
147
  }
80
148
  /**
81
- * @since 1.0.0
149
+ * Acquires Node `http` and `https` agents with the supplied options and
150
+ * destroys both agents when the enclosing scope is finalized.
151
+ *
82
152
  * @category HttpAgent
153
+ * @since 4.0.0
83
154
  */
84
155
  export declare const makeAgent: (options?: Https.AgentOptions) => Effect.Effect<HttpAgent["Service"], never, Scope.Scope>;
85
156
  /**
86
- * @since 1.0.0
157
+ * Provides the `HttpAgent` service using scoped Node `http` and `https`
158
+ * agents configured with the supplied options.
159
+ *
87
160
  * @category HttpAgent
161
+ * @since 4.0.0
88
162
  */
89
163
  export declare const layerAgentOptions: (options?: Https.AgentOptions | undefined) => Layer.Layer<HttpAgent>;
90
164
  /**
91
- * @since 1.0.0
165
+ * Provides the `HttpAgent` service using default scoped Node `http` and
166
+ * `https` agents.
167
+ *
92
168
  * @category HttpAgent
169
+ * @since 4.0.0
93
170
  */
94
171
  export declare const layerAgent: Layer.Layer<HttpAgent>;
95
172
  /**
96
- * @since 1.0.0
173
+ * Creates an `HttpClient` backed by Node `http` and `https`, using the
174
+ * current `HttpAgent`, streaming request bodies, and wrapping Node responses
175
+ * as `HttpClientResponse` values.
176
+ *
97
177
  * @category node:http
178
+ * @since 4.0.0
98
179
  */
99
180
  export declare const makeNodeHttp: Effect.Effect<Client.HttpClient, never, HttpAgent>;
100
181
  /**
101
- * @since 1.0.0
182
+ * Provides a node:http-backed `HttpClient` using the current `HttpAgent`
183
+ * service.
184
+ *
102
185
  * @category node:http
186
+ * @since 4.0.0
103
187
  */
104
188
  export declare const layerNodeHttpNoAgent: Layer.Layer<Client.HttpClient, never, HttpAgent>;
105
189
  /**
106
- * @since 1.0.0
190
+ * Provides a node:http-backed `HttpClient` together with default scoped Node
191
+ * `http` and `https` agents.
192
+ *
107
193
  * @category node:http
194
+ * @since 4.0.0
108
195
  */
109
196
  export declare const layerNodeHttp: Layer.Layer<Client.HttpClient>;
110
197
  //# sourceMappingURL=NodeHttpClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHttpClient.d.ts","sourceRoot":"","sources":["../src/NodeHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAK/C,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;;;GAGG;AACH,KAAK;AACL;;;GAGG;AACH,KAAK,IAAI,UAAU;AACnB;;;GAGG;AACH,WAAW,EACZ,MAAM,sCAAsC,CAAA;;AAM7C;;;GAGG;AACH,qBAAa,UAAW,SAAQ,eAE/B;CAAG;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAG/E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAA4C,CAAA;AAEhG;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAA8D,CAAA;AAExH;;;GAGG;AACH,eAAO,MAAM,aAAa,uEAGzB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qDA+BrB,CAAA;AAqKF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAC/C,MAAM,CAAC,UAAU,EACjB,KAAK,EACL,UAAU,CAC8B,CAAA;AAE1C;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAA2D,CAAA;;mBAWjG,IAAI,CAAC,KAAK;oBACT,KAAK,CAAC,KAAK;;AAN7B;;;GAGG;AACH,qBAAa,SAAU,SAAQ,cAGuB;CAAG;AAEzD;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,KAAK,CAAC,YAAY,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAW5G,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,SAAS,KAAK,KAAK,CAAC,KAAK,CACvF,SAAS,CACiC,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,CAAuB,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,YAAY,oDAqBvB,CAAA;AAqLF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,KAAK,CAC5C,MAAM,CAAC,UAAU,EACjB,KAAK,EACL,SAAS,CACiC,CAAA;AAE5C;;;GAGG;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;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;;;;;GAKG;AACH,KAAK;AACL;;;;;GAKG;AACH,KAAK,IAAI,UAAU;AACnB;;;;;GAKG;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,GAAI,UAAU,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,11 +1,48 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node.js implementations of the Effect `HttpClient`.
3
+ *
4
+ * This module supplies Node runtime backends for the platform-independent
5
+ * Effect HTTP client API. It re-exports the fetch-based client, defines an
6
+ * Undici-backed client, and defines a lower-level `node:http` / `node:https`
7
+ * client for integrations that need native agent configuration.
8
+ *
9
+ * **Mental model**
10
+ *
11
+ * All backends provide the same `HttpClient` service, so application code can
12
+ * depend on the Effect HTTP client interface while the layer chooses the Node
13
+ * implementation. The difference is where request execution and connection
14
+ * ownership live: fetch uses `globalThis.fetch`, Undici sends through a
15
+ * `Dispatcher`, and the `node:http` backend sends through scoped HTTP and HTTPS
16
+ * agents.
17
+ *
18
+ * **Common tasks**
19
+ *
20
+ * Use `layerFetch` when the built-in fetch implementation is enough. Use
21
+ * `layerUndici` for a scoped Undici `Agent`, or `layerUndiciNoDispatcher` when
22
+ * the caller provides the `Dispatcher` service, including the process-global
23
+ * dispatcher from `dispatcherLayerGlobal`. Use `layerNodeHttp` or
24
+ * `layerAgentOptions` when TLS, proxy, keep-alive, socket, or other native
25
+ * Node agent options must be configured directly.
26
+ *
27
+ * **Gotchas**
28
+ *
29
+ * Fetch, Undici, and `node:http` are not exact substitutes. They differ in
30
+ * dispatcher and agent hooks, request body support, abort behavior, upgrade
31
+ * support, and response body readers. Scoped layers destroy the agents or
32
+ * dispatchers they create when the layer scope ends; `dispatcherLayerGlobal`
33
+ * intentionally does not own or destroy Undici's process-global dispatcher.
34
+ * Body read failures are reported as `HttpClientError` decode or transport
35
+ * errors.
36
+ *
37
+ * @since 4.0.0
3
38
  */
39
+ import * as Context from "effect/Context";
4
40
  import * as Effect from "effect/Effect";
5
41
  import { flow } from "effect/Function";
6
42
  import * as Inspectable from "effect/Inspectable";
7
43
  import * as Layer from "effect/Layer";
8
- import * as ServiceMap from "effect/ServiceMap";
44
+ import * as Option from "effect/Option";
45
+ import { pipeArguments } from "effect/Pipeable";
9
46
  import * as Stream from "effect/Stream";
10
47
  import * as Cookies from "effect/unstable/http/Cookies";
11
48
  import * as Headers from "effect/unstable/http/Headers";
@@ -27,53 +64,77 @@ import * as Undici from "./Undici.js";
27
64
  // -----------------------------------------------------------------------------
28
65
  export {
29
66
  /**
30
- * @since 1.0.0
67
+ * Fetch-based HTTP client implementation for Node.js.
68
+ *
31
69
  * @category Fetch
70
+ * @since 4.0.0
32
71
  */
33
72
  Fetch,
34
73
  /**
35
- * @since 1.0.0
74
+ * Layer that provides the fetch-based HTTP client implementation.
75
+ *
36
76
  * @category Fetch
77
+ * @since 4.0.0
37
78
  */
38
79
  layer as layerFetch,
39
80
  /**
40
- * @since 1.0.0
81
+ * Request initialization options accepted by the fetch-based HTTP client.
82
+ *
41
83
  * @category Fetch
84
+ * @since 4.0.0
42
85
  */
43
86
  RequestInit } from "effect/unstable/http/FetchHttpClient";
44
87
  // -----------------------------------------------------------------------------
45
88
  // Undici
46
89
  // -----------------------------------------------------------------------------
47
90
  /**
48
- * @since 1.0.0
91
+ * Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
92
+ * client.
93
+ *
49
94
  * @category Dispatcher
95
+ * @since 4.0.0
50
96
  */
51
- export class Dispatcher extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-node/NodeHttpClient/Dispatcher") {}
97
+ export class Dispatcher extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/Dispatcher") {}
52
98
  /**
53
- * @since 1.0.0
99
+ * Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
100
+ * scope is finalized.
101
+ *
54
102
  * @category Dispatcher
103
+ * @since 4.0.0
55
104
  */
56
105
  export const makeDispatcher = /*#__PURE__*/Effect.acquireRelease(/*#__PURE__*/Effect.sync(() => new Undici.Agent()), dispatcher => Effect.promise(() => dispatcher.destroy()));
57
106
  /**
58
- * @since 1.0.0
107
+ * Provides the `Dispatcher` service using a scoped Undici `Agent`.
108
+ *
59
109
  * @category Dispatcher
110
+ * @since 4.0.0
60
111
  */
61
112
  export const layerDispatcher = /*#__PURE__*/Layer.effect(Dispatcher)(makeDispatcher);
62
113
  /**
63
- * @since 1.0.0
114
+ * Provides the `Dispatcher` service from Undici's process-global dispatcher,
115
+ * without creating or owning a new agent.
116
+ *
64
117
  * @category Dispatcher
118
+ * @since 4.0.0
65
119
  */
66
120
  export const dispatcherLayerGlobal = /*#__PURE__*/Layer.sync(Dispatcher)(() => Undici.getGlobalDispatcher());
67
121
  /**
68
- * @since 1.0.0
122
+ * Fiber reference containing default Undici request options applied to requests
123
+ * sent by `makeUndici`.
124
+ *
69
125
  * @category undici
126
+ * @since 4.0.0
70
127
  */
71
- export const UndiciOptions = /*#__PURE__*/ServiceMap.Reference("@effect/platform-node/NodeHttpClient/UndiciOptions", {
128
+ export const UndiciOptions = /*#__PURE__*/Context.Reference("@effect/platform-node/NodeHttpClient/UndiciOptions", {
72
129
  defaultValue: () => ({})
73
130
  });
74
131
  /**
75
- * @since 1.0.0
132
+ * Creates an `HttpClient` that sends requests through the current Undici
133
+ * `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
134
+ * transport and decode failures to `HttpClientError`.
135
+ *
76
136
  * @category undici
137
+ * @since 4.0.0
77
138
  */
78
139
  export const makeUndici = /*#__PURE__*/Effect.gen(function* () {
79
140
  const dispatcher = yield* Dispatcher;
@@ -151,7 +212,7 @@ class UndiciResponse extends Inspectable.Class {
151
212
  return this.cachedCookies = header ? Cookies.fromSetCookie(header) : Cookies.empty;
152
213
  }
153
214
  get remoteAddress() {
154
- return undefined;
215
+ return Option.none();
155
216
  }
156
217
  get stream() {
157
218
  return NodeStream.fromReadable({
@@ -179,7 +240,10 @@ class UndiciResponse extends Inspectable.Class {
179
240
  }
180
241
  textBody;
181
242
  get text() {
182
- return this.textBody ??= Effect.tryPromise({
243
+ if (this.textBody) {
244
+ return this.textBody;
245
+ }
246
+ this.textBody = Effect.tryPromise({
183
247
  try: () => this.source.body.text(),
184
248
  catch: cause => new Error.HttpClientError({
185
249
  reason: new Error.DecodeError({
@@ -189,6 +253,8 @@ class UndiciResponse extends Inspectable.Class {
189
253
  })
190
254
  })
191
255
  }).pipe(Effect.cached, Effect.runSync);
256
+ this.arrayBufferBody = Effect.map(this.textBody, _ => new TextEncoder().encode(_).buffer);
257
+ return this.textBody;
192
258
  }
193
259
  get urlParamsBody() {
194
260
  return Effect.flatMap(this.text, _ => Effect.try({
@@ -217,7 +283,10 @@ class UndiciResponse extends Inspectable.Class {
217
283
  }
218
284
  arrayBufferBody;
219
285
  get arrayBuffer() {
220
- return this.arrayBufferBody ??= Effect.tryPromise({
286
+ if (this.arrayBufferBody) {
287
+ return this.arrayBufferBody;
288
+ }
289
+ this.arrayBufferBody = Effect.tryPromise({
221
290
  try: () => this.source.body.arrayBuffer(),
222
291
  catch: cause => new Error.HttpClientError({
223
292
  reason: new Error.DecodeError({
@@ -227,6 +296,8 @@ class UndiciResponse extends Inspectable.Class {
227
296
  })
228
297
  })
229
298
  }).pipe(Effect.cached, Effect.runSync);
299
+ this.textBody = Effect.map(this.arrayBufferBody, _ => new TextDecoder().decode(_));
300
+ return this.arrayBufferBody;
230
301
  }
231
302
  toJSON() {
232
303
  return IncomingMessage.inspect(this, {
@@ -235,46 +306,71 @@ class UndiciResponse extends Inspectable.Class {
235
306
  status: this.status
236
307
  });
237
308
  }
309
+ pipe() {
310
+ return pipeArguments(this, arguments);
311
+ }
238
312
  }
239
313
  /**
240
- * @since 1.0.0
314
+ * Provides an Undici-backed `HttpClient` using the current `Dispatcher`
315
+ * service.
316
+ *
241
317
  * @category Undici
318
+ * @since 4.0.0
242
319
  */
243
- export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedServices(makeUndici);
320
+ export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedContext(makeUndici);
244
321
  /**
245
- * @since 1.0.0
322
+ * Provides an Undici-backed `HttpClient` together with a scoped default
323
+ * Undici `Agent` dispatcher.
324
+ *
246
325
  * @category Undici
326
+ * @since 4.0.0
247
327
  */
248
328
  export const layerUndici = /*#__PURE__*/Layer.provide(layerUndiciNoDispatcher, layerDispatcher);
249
329
  // -----------------------------------------------------------------------------
250
330
  // node:http
251
331
  // -----------------------------------------------------------------------------
252
332
  /**
253
- * @since 1.0.0
333
+ * Service tag for the paired Node `http` and `https` agents used by the
334
+ * node:http-backed HTTP client.
335
+ *
254
336
  * @category HttpAgent
337
+ * @since 4.0.0
255
338
  */
256
- export class HttpAgent extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-node/NodeHttpClient/HttpAgent") {}
339
+ export class HttpAgent extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/HttpAgent") {}
257
340
  /**
258
- * @since 1.0.0
341
+ * Acquires Node `http` and `https` agents with the supplied options and
342
+ * destroys both agents when the enclosing scope is finalized.
343
+ *
259
344
  * @category HttpAgent
345
+ * @since 4.0.0
260
346
  */
261
347
  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) => ({
262
348
  http,
263
349
  https
264
350
  }));
265
351
  /**
266
- * @since 1.0.0
352
+ * Provides the `HttpAgent` service using scoped Node `http` and `https`
353
+ * agents configured with the supplied options.
354
+ *
267
355
  * @category HttpAgent
356
+ * @since 4.0.0
268
357
  */
269
358
  export const layerAgentOptions = /*#__PURE__*/flow(makeAgent, /*#__PURE__*/Layer.effect(HttpAgent));
270
359
  /**
271
- * @since 1.0.0
360
+ * Provides the `HttpAgent` service using default scoped Node `http` and
361
+ * `https` agents.
362
+ *
272
363
  * @category HttpAgent
364
+ * @since 4.0.0
273
365
  */
274
366
  export const layerAgent = /*#__PURE__*/layerAgentOptions();
275
367
  /**
276
- * @since 1.0.0
368
+ * Creates an `HttpClient` backed by Node `http` and `https`, using the
369
+ * current `HttpAgent`, streaming request bodies, and wrapping Node responses
370
+ * as `HttpClientResponse` values.
371
+ *
277
372
  * @category node:http
373
+ * @since 4.0.0
278
374
  */
279
375
  export const makeNodeHttp = /*#__PURE__*/Effect.gen(function* () {
280
376
  const agent = yield* HttpAgent;
@@ -432,15 +528,24 @@ class NodeHttpResponse extends NodeHttpIncomingMessage {
432
528
  status: this.status
433
529
  });
434
530
  }
531
+ pipe() {
532
+ return pipeArguments(this, arguments);
533
+ }
435
534
  }
436
535
  /**
437
- * @since 1.0.0
536
+ * Provides a node:http-backed `HttpClient` using the current `HttpAgent`
537
+ * service.
538
+ *
438
539
  * @category node:http
540
+ * @since 4.0.0
439
541
  */
440
- export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedServices(makeNodeHttp);
542
+ export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedContext(makeNodeHttp);
441
543
  /**
442
- * @since 1.0.0
544
+ * Provides a node:http-backed `HttpClient` together with default scoped Node
545
+ * `http` and `https` agents.
546
+ *
443
547
  * @category node:http
548
+ * @since 4.0.0
444
549
  */
445
550
  export const layerNodeHttp = /*#__PURE__*/Layer.provide(layerNodeHttpNoAgent, layerAgent);
446
551
  //# sourceMappingURL=NodeHttpClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeHttpClient.js","names":["Effect","flow","Inspectable","Layer","ServiceMap","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","fromReadable","evaluate","onError","DecodeError","json","text","JSON","parse","textBody","cached","runSync","urlParamsBody","URLSearchParams","formDataBody","arrayBufferBody","arrayBuffer","toJSON","inspect","_id","layerUndiciNoDispatcher","layerMergedServices","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":["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":[]}