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

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 (119) hide show
  1. package/dist/Mime.d.ts +3 -3
  2. package/dist/Mime.js +3 -3
  3. package/dist/NodeChildProcessSpawner.d.ts +1 -1
  4. package/dist/NodeChildProcessSpawner.js +1 -1
  5. package/dist/NodeClusterHttp.d.ts +49 -7
  6. package/dist/NodeClusterHttp.d.ts.map +1 -1
  7. package/dist/NodeClusterHttp.js +20 -10
  8. package/dist/NodeClusterHttp.js.map +1 -1
  9. package/dist/NodeClusterSocket.d.ts +57 -11
  10. package/dist/NodeClusterSocket.d.ts.map +1 -1
  11. package/dist/NodeClusterSocket.js +57 -11
  12. package/dist/NodeClusterSocket.js.map +1 -1
  13. package/dist/NodeCrypto.d.ts +10 -0
  14. package/dist/NodeCrypto.d.ts.map +1 -0
  15. package/dist/NodeCrypto.js +14 -0
  16. package/dist/NodeCrypto.js.map +1 -0
  17. package/dist/NodeFileSystem.d.ts +4 -2
  18. package/dist/NodeFileSystem.d.ts.map +1 -1
  19. package/dist/NodeFileSystem.js +22 -3
  20. package/dist/NodeFileSystem.js.map +1 -1
  21. package/dist/NodeHttpClient.d.ts +102 -24
  22. package/dist/NodeHttpClient.d.ts.map +1 -1
  23. package/dist/NodeHttpClient.js +124 -28
  24. package/dist/NodeHttpClient.js.map +1 -1
  25. package/dist/NodeHttpIncomingMessage.d.ts +30 -9
  26. package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
  27. package/dist/NodeHttpIncomingMessage.js +34 -8
  28. package/dist/NodeHttpIncomingMessage.js.map +1 -1
  29. package/dist/NodeHttpPlatform.d.ts +10 -4
  30. package/dist/NodeHttpPlatform.d.ts.map +1 -1
  31. package/dist/NodeHttpPlatform.js +34 -7
  32. package/dist/NodeHttpPlatform.js.map +1 -1
  33. package/dist/NodeHttpServer.d.ts +56 -16
  34. package/dist/NodeHttpServer.d.ts.map +1 -1
  35. package/dist/NodeHttpServer.js +117 -49
  36. package/dist/NodeHttpServer.js.map +1 -1
  37. package/dist/NodeHttpServerRequest.d.ts +29 -3
  38. package/dist/NodeHttpServerRequest.d.ts.map +1 -1
  39. package/dist/NodeHttpServerRequest.js +9 -2
  40. package/dist/NodeHttpServerRequest.js.map +1 -1
  41. package/dist/NodeMultipart.d.ts +32 -4
  42. package/dist/NodeMultipart.d.ts.map +1 -1
  43. package/dist/NodeMultipart.js +32 -4
  44. package/dist/NodeMultipart.js.map +1 -1
  45. package/dist/NodePath.d.ts +15 -6
  46. package/dist/NodePath.d.ts.map +1 -1
  47. package/dist/NodePath.js +30 -7
  48. package/dist/NodePath.js.map +1 -1
  49. package/dist/NodeRedis.d.ts +38 -9
  50. package/dist/NodeRedis.d.ts.map +1 -1
  51. package/dist/NodeRedis.js +41 -12
  52. package/dist/NodeRedis.js.map +1 -1
  53. package/dist/NodeRuntime.d.ts +27 -36
  54. package/dist/NodeRuntime.d.ts.map +1 -1
  55. package/dist/NodeRuntime.js +24 -13
  56. package/dist/NodeRuntime.js.map +1 -1
  57. package/dist/NodeServices.d.ts +29 -5
  58. package/dist/NodeServices.d.ts.map +1 -1
  59. package/dist/NodeServices.js +7 -3
  60. package/dist/NodeServices.js.map +1 -1
  61. package/dist/NodeSink.d.ts +2 -2
  62. package/dist/NodeSink.js +2 -2
  63. package/dist/NodeSocket.d.ts +18 -3
  64. package/dist/NodeSocket.d.ts.map +1 -1
  65. package/dist/NodeSocket.js +36 -4
  66. package/dist/NodeSocket.js.map +1 -1
  67. package/dist/NodeSocketServer.d.ts +2 -2
  68. package/dist/NodeSocketServer.js +2 -2
  69. package/dist/NodeStdio.d.ts +5 -2
  70. package/dist/NodeStdio.d.ts.map +1 -1
  71. package/dist/NodeStdio.js +22 -3
  72. package/dist/NodeStdio.js.map +1 -1
  73. package/dist/NodeStream.d.ts +2 -2
  74. package/dist/NodeStream.js +2 -2
  75. package/dist/NodeTerminal.d.ts +8 -2
  76. package/dist/NodeTerminal.d.ts.map +1 -1
  77. package/dist/NodeTerminal.js +19 -3
  78. package/dist/NodeTerminal.js.map +1 -1
  79. package/dist/NodeWorker.d.ts +9 -2
  80. package/dist/NodeWorker.d.ts.map +1 -1
  81. package/dist/NodeWorker.js +31 -6
  82. package/dist/NodeWorker.js.map +1 -1
  83. package/dist/NodeWorkerRunner.d.ts +5 -1
  84. package/dist/NodeWorkerRunner.d.ts.map +1 -1
  85. package/dist/NodeWorkerRunner.js +27 -5
  86. package/dist/NodeWorkerRunner.js.map +1 -1
  87. package/dist/Undici.d.ts +3 -3
  88. package/dist/Undici.js +3 -3
  89. package/dist/index.d.ts +376 -24
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.js +376 -24
  92. package/dist/index.js.map +1 -1
  93. package/package.json +9 -9
  94. package/src/Mime.ts +3 -3
  95. package/src/NodeChildProcessSpawner.ts +1 -1
  96. package/src/NodeClusterHttp.ts +54 -11
  97. package/src/NodeClusterSocket.ts +57 -11
  98. package/src/NodeCrypto.ts +16 -0
  99. package/src/NodeFileSystem.ts +22 -3
  100. package/src/NodeHttpClient.ts +132 -33
  101. package/src/NodeHttpIncomingMessage.ts +42 -12
  102. package/src/NodeHttpPlatform.ts +35 -6
  103. package/src/NodeHttpServer.ts +139 -53
  104. package/src/NodeHttpServerRequest.ts +29 -3
  105. package/src/NodeMultipart.ts +32 -4
  106. package/src/NodePath.ts +30 -7
  107. package/src/NodeRedis.ts +43 -14
  108. package/src/NodeRuntime.ts +42 -37
  109. package/src/NodeServices.ts +31 -5
  110. package/src/NodeSink.ts +2 -2
  111. package/src/NodeSocket.ts +41 -4
  112. package/src/NodeSocketServer.ts +2 -2
  113. package/src/NodeStdio.ts +22 -3
  114. package/src/NodeStream.ts +2 -2
  115. package/src/NodeTerminal.ts +19 -3
  116. package/src/NodeWorker.ts +31 -6
  117. package/src/NodeWorkerRunner.ts +27 -5
  118. package/src/Undici.ts +3 -3
  119. package/src/index.ts +377 -24
@@ -1,110 +1,188 @@
1
1
  /**
2
- * @since 1.0.0
3
- */
2
+ * Node.js implementations of the Effect `HttpClient`.
3
+ *
4
+ * This module provides the Node-specific layers and constructors for sending
5
+ * Effect HTTP client requests. It re-exports the fetch-based client for
6
+ * programs that want to use `globalThis.fetch`, provides an Undici-backed
7
+ * client for applications that need Undici dispatcher control, and provides a
8
+ * lower-level `node:http` / `node:https` client for integrations that need
9
+ * native Node agent configuration.
10
+ *
11
+ * Use these clients in server-side applications, CLIs, tests, and integrations
12
+ * where requests should participate in Effect resource management, interruption,
13
+ * streaming, and typed transport / decode errors. The Undici path sends each
14
+ * request through the current `Dispatcher`; `layerUndici` owns a scoped
15
+ * `Agent`, while `dispatcherLayerGlobal` uses Undici's process-global dispatcher
16
+ * without destroying it. The `node:http` path uses separate scoped HTTP and
17
+ * HTTPS agents, making it the right choice when native agent options such as
18
+ * TLS, proxy, keep-alive, or socket behavior need to be configured directly.
19
+ *
20
+ * The backends are not completely interchangeable. Fetch, Undici, and
21
+ * `node:http` expose different agent and dispatcher hooks, body implementations,
22
+ * abort behavior, upgrade support, and response body readers. This module
23
+ * converts Effect request bodies to the selected runtime representation:
24
+ * streams remain streaming, `FormData` may contribute generated content headers,
25
+ * and body read failures are reported as `HttpClientError` decode or transport
26
+ * errors.
27
+ *
28
+ * @since 4.0.0
29
+ */
30
+ import * as Context from "effect/Context";
4
31
  import * as Effect from "effect/Effect";
5
32
  import * as Layer from "effect/Layer";
6
33
  import type * as Scope from "effect/Scope";
7
- import * as ServiceMap from "effect/ServiceMap";
8
34
  import * as Client from "effect/unstable/http/HttpClient";
9
35
  import * as Http from "node:http";
10
36
  import * as Https from "node:https";
11
37
  import * as Undici from "./Undici.ts";
12
38
  export {
13
39
  /**
14
- * @since 1.0.0
40
+ * Fetch-based HTTP client implementation for Node.js.
41
+ *
15
42
  * @category Fetch
43
+ * @since 4.0.0
16
44
  */
17
45
  Fetch,
18
46
  /**
19
- * @since 1.0.0
47
+ * Layer that provides the fetch-based HTTP client implementation.
48
+ *
20
49
  * @category Fetch
50
+ * @since 4.0.0
21
51
  */
22
52
  layer as layerFetch,
23
53
  /**
24
- * @since 1.0.0
54
+ * Request initialization options accepted by the fetch-based HTTP client.
55
+ *
25
56
  * @category Fetch
57
+ * @since 4.0.0
26
58
  */
27
59
  RequestInit } from "effect/unstable/http/FetchHttpClient";
28
- declare const Dispatcher_base: ServiceMap.ServiceClass<Dispatcher, "@effect/platform-node/NodeHttpClient/Dispatcher", Undici.Dispatcher>;
60
+ declare const Dispatcher_base: Context.ServiceClass<Dispatcher, "@effect/platform-node/NodeHttpClient/Dispatcher", Undici.Dispatcher>;
29
61
  /**
30
- * @since 1.0.0
62
+ * Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
63
+ * client.
64
+ *
31
65
  * @category Dispatcher
66
+ * @since 4.0.0
32
67
  */
33
68
  export declare class Dispatcher extends Dispatcher_base {
34
69
  }
35
70
  /**
36
- * @since 1.0.0
71
+ * Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
72
+ * scope is finalized.
73
+ *
37
74
  * @category Dispatcher
75
+ * @since 4.0.0
38
76
  */
39
77
  export declare const makeDispatcher: Effect.Effect<Undici.Dispatcher, never, Scope.Scope>;
40
78
  /**
41
- * @since 1.0.0
79
+ * Provides the `Dispatcher` service using a scoped Undici `Agent`.
80
+ *
42
81
  * @category Dispatcher
82
+ * @since 4.0.0
43
83
  */
44
84
  export declare const layerDispatcher: Layer.Layer<Dispatcher>;
45
85
  /**
46
- * @since 1.0.0
86
+ * Provides the `Dispatcher` service from Undici's process-global dispatcher,
87
+ * without creating or owning a new agent.
88
+ *
47
89
  * @category Dispatcher
90
+ * @since 4.0.0
48
91
  */
49
92
  export declare const dispatcherLayerGlobal: Layer.Layer<Dispatcher>;
50
93
  /**
51
- * @since 1.0.0
94
+ * Fiber reference containing default Undici request options applied to requests
95
+ * sent by `makeUndici`.
96
+ *
52
97
  * @category undici
98
+ * @since 4.0.0
53
99
  */
54
- export declare const UndiciOptions: ServiceMap.Reference<Partial<Undici.Dispatcher.RequestOptions<null>>>;
100
+ export declare const UndiciOptions: Context.Reference<Partial<Undici.Dispatcher.RequestOptions<null>>>;
55
101
  /**
56
- * @since 1.0.0
102
+ * Creates an `HttpClient` that sends requests through the current Undici
103
+ * `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
104
+ * transport and decode failures to `HttpClientError`.
105
+ *
57
106
  * @category undici
107
+ * @since 4.0.0
58
108
  */
59
109
  export declare const makeUndici: Effect.Effect<Client.HttpClient, never, Dispatcher>;
60
110
  /**
61
- * @since 1.0.0
111
+ * Provides an Undici-backed `HttpClient` using the current `Dispatcher`
112
+ * service.
113
+ *
62
114
  * @category Undici
115
+ * @since 4.0.0
63
116
  */
64
117
  export declare const layerUndiciNoDispatcher: Layer.Layer<Client.HttpClient, never, Dispatcher>;
65
118
  /**
66
- * @since 1.0.0
119
+ * Provides an Undici-backed `HttpClient` together with a scoped default
120
+ * Undici `Agent` dispatcher.
121
+ *
67
122
  * @category Undici
123
+ * @since 4.0.0
68
124
  */
69
125
  export declare const layerUndici: Layer.Layer<Client.HttpClient>;
70
- declare const HttpAgent_base: ServiceMap.ServiceClass<HttpAgent, "@effect/platform-node/NodeHttpClient/HttpAgent", {
126
+ declare const HttpAgent_base: Context.ServiceClass<HttpAgent, "@effect/platform-node/NodeHttpClient/HttpAgent", {
71
127
  readonly http: Http.Agent;
72
128
  readonly https: Https.Agent;
73
129
  }>;
74
130
  /**
75
- * @since 1.0.0
131
+ * Service tag for the paired Node `http` and `https` agents used by the
132
+ * node:http-backed HTTP client.
133
+ *
76
134
  * @category HttpAgent
135
+ * @since 4.0.0
77
136
  */
78
137
  export declare class HttpAgent extends HttpAgent_base {
79
138
  }
80
139
  /**
81
- * @since 1.0.0
140
+ * Acquires Node `http` and `https` agents with the supplied options and
141
+ * destroys both agents when the enclosing scope is finalized.
142
+ *
82
143
  * @category HttpAgent
144
+ * @since 4.0.0
83
145
  */
84
146
  export declare const makeAgent: (options?: Https.AgentOptions) => Effect.Effect<HttpAgent["Service"], never, Scope.Scope>;
85
147
  /**
86
- * @since 1.0.0
148
+ * Provides the `HttpAgent` service using scoped Node `http` and `https`
149
+ * agents configured with the supplied options.
150
+ *
87
151
  * @category HttpAgent
152
+ * @since 4.0.0
88
153
  */
89
154
  export declare const layerAgentOptions: (options?: Https.AgentOptions | undefined) => Layer.Layer<HttpAgent>;
90
155
  /**
91
- * @since 1.0.0
156
+ * Provides the `HttpAgent` service using default scoped Node `http` and
157
+ * `https` agents.
158
+ *
92
159
  * @category HttpAgent
160
+ * @since 4.0.0
93
161
  */
94
162
  export declare const layerAgent: Layer.Layer<HttpAgent>;
95
163
  /**
96
- * @since 1.0.0
164
+ * Creates an `HttpClient` backed by Node `http` and `https`, using the
165
+ * current `HttpAgent`, streaming request bodies, and wrapping Node responses
166
+ * as `HttpClientResponse` values.
167
+ *
97
168
  * @category node:http
169
+ * @since 4.0.0
98
170
  */
99
171
  export declare const makeNodeHttp: Effect.Effect<Client.HttpClient, never, HttpAgent>;
100
172
  /**
101
- * @since 1.0.0
173
+ * Provides a node:http-backed `HttpClient` using the current `HttpAgent`
174
+ * service.
175
+ *
102
176
  * @category node:http
177
+ * @since 4.0.0
103
178
  */
104
179
  export declare const layerNodeHttpNoAgent: Layer.Layer<Client.HttpClient, never, HttpAgent>;
105
180
  /**
106
- * @since 1.0.0
181
+ * Provides a node:http-backed `HttpClient` together with default scoped Node
182
+ * `http` and `https` agents.
183
+ *
107
184
  * @category node:http
185
+ * @since 4.0.0
108
186
  */
109
187
  export declare const layerNodeHttp: Layer.Layer<Client.HttpClient>;
110
188
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;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,39 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Node.js implementations of the Effect `HttpClient`.
3
+ *
4
+ * This module provides the Node-specific layers and constructors for sending
5
+ * Effect HTTP client requests. It re-exports the fetch-based client for
6
+ * programs that want to use `globalThis.fetch`, provides an Undici-backed
7
+ * client for applications that need Undici dispatcher control, and provides a
8
+ * lower-level `node:http` / `node:https` client for integrations that need
9
+ * native Node agent configuration.
10
+ *
11
+ * Use these clients in server-side applications, CLIs, tests, and integrations
12
+ * where requests should participate in Effect resource management, interruption,
13
+ * streaming, and typed transport / decode errors. The Undici path sends each
14
+ * request through the current `Dispatcher`; `layerUndici` owns a scoped
15
+ * `Agent`, while `dispatcherLayerGlobal` uses Undici's process-global dispatcher
16
+ * without destroying it. The `node:http` path uses separate scoped HTTP and
17
+ * HTTPS agents, making it the right choice when native agent options such as
18
+ * TLS, proxy, keep-alive, or socket behavior need to be configured directly.
19
+ *
20
+ * The backends are not completely interchangeable. Fetch, Undici, and
21
+ * `node:http` expose different agent and dispatcher hooks, body implementations,
22
+ * abort behavior, upgrade support, and response body readers. This module
23
+ * converts Effect request bodies to the selected runtime representation:
24
+ * streams remain streaming, `FormData` may contribute generated content headers,
25
+ * and body read failures are reported as `HttpClientError` decode or transport
26
+ * errors.
27
+ *
28
+ * @since 4.0.0
3
29
  */
30
+ import * as Context from "effect/Context";
4
31
  import * as Effect from "effect/Effect";
5
32
  import { flow } from "effect/Function";
6
33
  import * as Inspectable from "effect/Inspectable";
7
34
  import * as Layer from "effect/Layer";
8
- import * as ServiceMap from "effect/ServiceMap";
35
+ import * as Option from "effect/Option";
36
+ import { pipeArguments } from "effect/Pipeable";
9
37
  import * as Stream from "effect/Stream";
10
38
  import * as Cookies from "effect/unstable/http/Cookies";
11
39
  import * as Headers from "effect/unstable/http/Headers";
@@ -27,53 +55,77 @@ import * as Undici from "./Undici.js";
27
55
  // -----------------------------------------------------------------------------
28
56
  export {
29
57
  /**
30
- * @since 1.0.0
58
+ * Fetch-based HTTP client implementation for Node.js.
59
+ *
31
60
  * @category Fetch
61
+ * @since 4.0.0
32
62
  */
33
63
  Fetch,
34
64
  /**
35
- * @since 1.0.0
65
+ * Layer that provides the fetch-based HTTP client implementation.
66
+ *
36
67
  * @category Fetch
68
+ * @since 4.0.0
37
69
  */
38
70
  layer as layerFetch,
39
71
  /**
40
- * @since 1.0.0
72
+ * Request initialization options accepted by the fetch-based HTTP client.
73
+ *
41
74
  * @category Fetch
75
+ * @since 4.0.0
42
76
  */
43
77
  RequestInit } from "effect/unstable/http/FetchHttpClient";
44
78
  // -----------------------------------------------------------------------------
45
79
  // Undici
46
80
  // -----------------------------------------------------------------------------
47
81
  /**
48
- * @since 1.0.0
82
+ * Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
83
+ * client.
84
+ *
49
85
  * @category Dispatcher
86
+ * @since 4.0.0
50
87
  */
51
- export class Dispatcher extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-node/NodeHttpClient/Dispatcher") {}
88
+ export class Dispatcher extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/Dispatcher") {}
52
89
  /**
53
- * @since 1.0.0
90
+ * Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
91
+ * scope is finalized.
92
+ *
54
93
  * @category Dispatcher
94
+ * @since 4.0.0
55
95
  */
56
96
  export const makeDispatcher = /*#__PURE__*/Effect.acquireRelease(/*#__PURE__*/Effect.sync(() => new Undici.Agent()), dispatcher => Effect.promise(() => dispatcher.destroy()));
57
97
  /**
58
- * @since 1.0.0
98
+ * Provides the `Dispatcher` service using a scoped Undici `Agent`.
99
+ *
59
100
  * @category Dispatcher
101
+ * @since 4.0.0
60
102
  */
61
103
  export const layerDispatcher = /*#__PURE__*/Layer.effect(Dispatcher)(makeDispatcher);
62
104
  /**
63
- * @since 1.0.0
105
+ * Provides the `Dispatcher` service from Undici's process-global dispatcher,
106
+ * without creating or owning a new agent.
107
+ *
64
108
  * @category Dispatcher
109
+ * @since 4.0.0
65
110
  */
66
111
  export const dispatcherLayerGlobal = /*#__PURE__*/Layer.sync(Dispatcher)(() => Undici.getGlobalDispatcher());
67
112
  /**
68
- * @since 1.0.0
113
+ * Fiber reference containing default Undici request options applied to requests
114
+ * sent by `makeUndici`.
115
+ *
69
116
  * @category undici
117
+ * @since 4.0.0
70
118
  */
71
- export const UndiciOptions = /*#__PURE__*/ServiceMap.Reference("@effect/platform-node/NodeHttpClient/UndiciOptions", {
119
+ export const UndiciOptions = /*#__PURE__*/Context.Reference("@effect/platform-node/NodeHttpClient/UndiciOptions", {
72
120
  defaultValue: () => ({})
73
121
  });
74
122
  /**
75
- * @since 1.0.0
123
+ * Creates an `HttpClient` that sends requests through the current Undici
124
+ * `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
125
+ * transport and decode failures to `HttpClientError`.
126
+ *
76
127
  * @category undici
128
+ * @since 4.0.0
77
129
  */
78
130
  export const makeUndici = /*#__PURE__*/Effect.gen(function* () {
79
131
  const dispatcher = yield* Dispatcher;
@@ -151,7 +203,7 @@ class UndiciResponse extends Inspectable.Class {
151
203
  return this.cachedCookies = header ? Cookies.fromSetCookie(header) : Cookies.empty;
152
204
  }
153
205
  get remoteAddress() {
154
- return undefined;
206
+ return Option.none();
155
207
  }
156
208
  get stream() {
157
209
  return NodeStream.fromReadable({
@@ -179,7 +231,10 @@ class UndiciResponse extends Inspectable.Class {
179
231
  }
180
232
  textBody;
181
233
  get text() {
182
- return this.textBody ??= Effect.tryPromise({
234
+ if (this.textBody) {
235
+ return this.textBody;
236
+ }
237
+ this.textBody = Effect.tryPromise({
183
238
  try: () => this.source.body.text(),
184
239
  catch: cause => new Error.HttpClientError({
185
240
  reason: new Error.DecodeError({
@@ -189,6 +244,8 @@ class UndiciResponse extends Inspectable.Class {
189
244
  })
190
245
  })
191
246
  }).pipe(Effect.cached, Effect.runSync);
247
+ this.arrayBufferBody = Effect.map(this.textBody, _ => new TextEncoder().encode(_).buffer);
248
+ return this.textBody;
192
249
  }
193
250
  get urlParamsBody() {
194
251
  return Effect.flatMap(this.text, _ => Effect.try({
@@ -217,7 +274,10 @@ class UndiciResponse extends Inspectable.Class {
217
274
  }
218
275
  arrayBufferBody;
219
276
  get arrayBuffer() {
220
- return this.arrayBufferBody ??= Effect.tryPromise({
277
+ if (this.arrayBufferBody) {
278
+ return this.arrayBufferBody;
279
+ }
280
+ this.arrayBufferBody = Effect.tryPromise({
221
281
  try: () => this.source.body.arrayBuffer(),
222
282
  catch: cause => new Error.HttpClientError({
223
283
  reason: new Error.DecodeError({
@@ -227,6 +287,8 @@ class UndiciResponse extends Inspectable.Class {
227
287
  })
228
288
  })
229
289
  }).pipe(Effect.cached, Effect.runSync);
290
+ this.textBody = Effect.map(this.arrayBufferBody, _ => new TextDecoder().decode(_));
291
+ return this.arrayBufferBody;
230
292
  }
231
293
  toJSON() {
232
294
  return IncomingMessage.inspect(this, {
@@ -235,46 +297,71 @@ class UndiciResponse extends Inspectable.Class {
235
297
  status: this.status
236
298
  });
237
299
  }
300
+ pipe() {
301
+ return pipeArguments(this, arguments);
302
+ }
238
303
  }
239
304
  /**
240
- * @since 1.0.0
305
+ * Provides an Undici-backed `HttpClient` using the current `Dispatcher`
306
+ * service.
307
+ *
241
308
  * @category Undici
309
+ * @since 4.0.0
242
310
  */
243
- export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedServices(makeUndici);
311
+ export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedContext(makeUndici);
244
312
  /**
245
- * @since 1.0.0
313
+ * Provides an Undici-backed `HttpClient` together with a scoped default
314
+ * Undici `Agent` dispatcher.
315
+ *
246
316
  * @category Undici
317
+ * @since 4.0.0
247
318
  */
248
319
  export const layerUndici = /*#__PURE__*/Layer.provide(layerUndiciNoDispatcher, layerDispatcher);
249
320
  // -----------------------------------------------------------------------------
250
321
  // node:http
251
322
  // -----------------------------------------------------------------------------
252
323
  /**
253
- * @since 1.0.0
324
+ * Service tag for the paired Node `http` and `https` agents used by the
325
+ * node:http-backed HTTP client.
326
+ *
254
327
  * @category HttpAgent
328
+ * @since 4.0.0
255
329
  */
256
- export class HttpAgent extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-node/NodeHttpClient/HttpAgent") {}
330
+ export class HttpAgent extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/HttpAgent") {}
257
331
  /**
258
- * @since 1.0.0
332
+ * Acquires Node `http` and `https` agents with the supplied options and
333
+ * destroys both agents when the enclosing scope is finalized.
334
+ *
259
335
  * @category HttpAgent
336
+ * @since 4.0.0
260
337
  */
261
338
  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
339
  http,
263
340
  https
264
341
  }));
265
342
  /**
266
- * @since 1.0.0
343
+ * Provides the `HttpAgent` service using scoped Node `http` and `https`
344
+ * agents configured with the supplied options.
345
+ *
267
346
  * @category HttpAgent
347
+ * @since 4.0.0
268
348
  */
269
349
  export const layerAgentOptions = /*#__PURE__*/flow(makeAgent, /*#__PURE__*/Layer.effect(HttpAgent));
270
350
  /**
271
- * @since 1.0.0
351
+ * Provides the `HttpAgent` service using default scoped Node `http` and
352
+ * `https` agents.
353
+ *
272
354
  * @category HttpAgent
355
+ * @since 4.0.0
273
356
  */
274
357
  export const layerAgent = /*#__PURE__*/layerAgentOptions();
275
358
  /**
276
- * @since 1.0.0
359
+ * Creates an `HttpClient` backed by Node `http` and `https`, using the
360
+ * current `HttpAgent`, streaming request bodies, and wrapping Node responses
361
+ * as `HttpClientResponse` values.
362
+ *
277
363
  * @category node:http
364
+ * @since 4.0.0
278
365
  */
279
366
  export const makeNodeHttp = /*#__PURE__*/Effect.gen(function* () {
280
367
  const agent = yield* HttpAgent;
@@ -432,15 +519,24 @@ class NodeHttpResponse extends NodeHttpIncomingMessage {
432
519
  status: this.status
433
520
  });
434
521
  }
522
+ pipe() {
523
+ return pipeArguments(this, arguments);
524
+ }
435
525
  }
436
526
  /**
437
- * @since 1.0.0
527
+ * Provides a node:http-backed `HttpClient` using the current `HttpAgent`
528
+ * service.
529
+ *
438
530
  * @category node:http
531
+ * @since 4.0.0
439
532
  */
440
- export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedServices(makeNodeHttp);
533
+ export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedContext(makeNodeHttp);
441
534
  /**
442
- * @since 1.0.0
535
+ * Provides a node:http-backed `HttpClient` together with default scoped Node
536
+ * `http` and `https` agents.
537
+ *
443
538
  * @category node:http
539
+ * @since 4.0.0
444
540
  */
445
541
  export const layerNodeHttp = /*#__PURE__*/Layer.provide(layerNodeHttpNoAgent, layerAgent);
446
542
  //# 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":[]}
@@ -1,35 +1,56 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Utilities for adapting Node `http.IncomingMessage` values to the Effect HTTP
3
+ * incoming message interface used by the platform Node server and client
4
+ * implementations.
5
+ *
6
+ * This module is useful when code needs to keep access to Node's request or
7
+ * response object while also exposing Effect's typed headers, remote address,
8
+ * body decoders, and stream interface. The body helpers consume Node's readable
9
+ * stream, cache decoded text and array-buffer results, and honor the
10
+ * `HttpIncomingMessage.MaxBodySize` fiber ref. Prefer a single body access
11
+ * strategy per message: raw `stream` access is not cached, and Node request
12
+ * bodies cannot be replayed once the underlying stream has been consumed.
13
+ *
14
+ * @since 4.0.0
3
15
  */
4
16
  import * as Effect from "effect/Effect";
5
17
  import * as Inspectable from "effect/Inspectable";
18
+ import * as Option from "effect/Option";
19
+ import type * as Schema from "effect/Schema";
6
20
  import type * as Stream from "effect/Stream";
7
21
  import * as Headers from "effect/unstable/http/Headers";
8
22
  import * as IncomingMessage from "effect/unstable/http/HttpIncomingMessage";
9
23
  import * as UrlParams from "effect/unstable/http/UrlParams";
10
24
  import type * as Http from "node:http";
11
25
  /**
12
- * @since 1.0.0
13
- * @category Constructors
26
+ * Base adapter from Node `IncomingMessage` to Effect HTTP incoming messages,
27
+ * exposing headers, remote address, stream access, and cached text, JSON, URL
28
+ * parameter, and array-buffer body decoders with caller-provided error mapping.
29
+ *
30
+ * @category constructors
31
+ * @since 4.0.0
14
32
  */
15
33
  export declare abstract class NodeHttpIncomingMessage<E> extends Inspectable.Class implements IncomingMessage.HttpIncomingMessage<E> {
16
34
  /**
17
- * @since 1.0.0
35
+ * Marks this value as an HTTP incoming message for runtime guards.
36
+ *
37
+ * @since 4.0.0
18
38
  */
19
39
  readonly [IncomingMessage.TypeId]: typeof IncomingMessage.TypeId;
20
40
  readonly source: Http.IncomingMessage;
21
41
  readonly onError: (error: unknown) => E;
22
- readonly remoteAddressOverride?: string | undefined;
23
- constructor(source: Http.IncomingMessage, onError: (error: unknown) => E, remoteAddressOverride?: string);
42
+ readonly remoteAddressOverride?: Option.Option<string> | undefined;
43
+ constructor(source: Http.IncomingMessage, onError: (error: unknown) => E, remoteAddressOverride?: Option.Option<string>);
24
44
  get headers(): Headers.Headers;
25
- get remoteAddress(): string | undefined;
45
+ get remoteAddress(): Option.Option<string>;
26
46
  private textEffect;
27
47
  get text(): Effect.Effect<string, E>;
28
48
  get textUnsafe(): string;
29
- get json(): Effect.Effect<unknown, E>;
30
- get jsonUnsafe(): unknown;
49
+ get json(): Effect.Effect<Schema.Json, E>;
50
+ get jsonUnsafe(): Schema.Json;
31
51
  get urlParamsBody(): Effect.Effect<UrlParams.UrlParams, E>;
32
52
  get stream(): Stream.Stream<Uint8Array, E>;
53
+ private arrayBufferEffect;
33
54
  get arrayBuffer(): Effect.Effect<ArrayBuffer, E>;
34
55
  }
35
56
  //# sourceMappingURL=NodeHttpIncomingMessage.d.ts.map