@effect/platform-node 4.0.0-beta.8 → 4.0.0-beta.81

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 +25 -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 +37 -11
  12. package/dist/NodeClusterSocket.d.ts.map +1 -1
  13. package/dist/NodeClusterSocket.js +37 -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 +12 -3
  22. package/dist/NodeFileSystem.js.map +1 -1
  23. package/dist/NodeHttpClient.d.ts +98 -29
  24. package/dist/NodeHttpClient.d.ts.map +1 -1
  25. package/dist/NodeHttpClient.js +120 -33
  26. package/dist/NodeHttpClient.js.map +1 -1
  27. package/dist/NodeHttpIncomingMessage.d.ts +36 -9
  28. package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
  29. package/dist/NodeHttpIncomingMessage.js +40 -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 +20 -7
  34. package/dist/NodeHttpPlatform.js.map +1 -1
  35. package/dist/NodeHttpServer.d.ts +59 -19
  36. package/dist/NodeHttpServer.d.ts.map +1 -1
  37. package/dist/NodeHttpServer.js +102 -52
  38. package/dist/NodeHttpServer.js.map +1 -1
  39. package/dist/NodeHttpServerRequest.d.ts +18 -5
  40. package/dist/NodeHttpServerRequest.d.ts.map +1 -1
  41. package/dist/NodeHttpServerRequest.js +11 -4
  42. package/dist/NodeHttpServerRequest.js.map +1 -1
  43. package/dist/NodeMultipart.d.ts +24 -4
  44. package/dist/NodeMultipart.d.ts.map +1 -1
  45. package/dist/NodeMultipart.js +24 -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 +23 -7
  50. package/dist/NodePath.js.map +1 -1
  51. package/dist/NodeRedis.d.ts +27 -9
  52. package/dist/NodeRedis.d.ts.map +1 -1
  53. package/dist/NodeRedis.js +30 -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 +17 -13
  58. package/dist/NodeRuntime.js.map +1 -1
  59. package/dist/NodeServices.d.ts +19 -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 +27 -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 +13 -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 +15 -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 +22 -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 +18 -5
  88. package/dist/NodeWorkerRunner.js.map +1 -1
  89. package/dist/Undici.d.ts +18 -5
  90. package/dist/Undici.d.ts.map +1 -1
  91. package/dist/Undici.js +18 -5
  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 +30 -11
  101. package/src/NodeClusterSocket.ts +37 -11
  102. package/src/NodeCrypto.ts +24 -0
  103. package/src/NodeFileSystem.ts +12 -3
  104. package/src/NodeHttpClient.ts +128 -38
  105. package/src/NodeHttpIncomingMessage.ts +48 -12
  106. package/src/NodeHttpPlatform.ts +21 -6
  107. package/src/NodeHttpServer.ts +124 -56
  108. package/src/NodeHttpServerRequest.ts +18 -5
  109. package/src/NodeMultipart.ts +24 -4
  110. package/src/NodePath.ts +23 -7
  111. package/src/NodeRedis.ts +32 -14
  112. package/src/NodeRuntime.ts +35 -37
  113. package/src/NodeServices.ts +21 -5
  114. package/src/NodeSink.ts +2 -2
  115. package/src/NodeSocket.ts +32 -4
  116. package/src/NodeSocketServer.ts +2 -2
  117. package/src/NodeStdio.ts +13 -3
  118. package/src/NodeStream.ts +2 -2
  119. package/src/NodeTerminal.ts +15 -3
  120. package/src/NodeWorker.ts +22 -6
  121. package/src/NodeWorkerRunner.ts +18 -5
  122. package/src/Undici.ts +18 -5
  123. package/src/index.ts +29 -26
@@ -1,110 +1,179 @@
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 `Fetch`, `RequestInit`,
6
+ * and `layerFetch` APIs, defines an Undici-backed client with dispatcher
7
+ * services and request options, and defines a lower-level `node:http` /
8
+ * `node:https` client with scoped HTTP agent layers.
9
+ *
10
+ * @since 4.0.0
11
+ */
12
+ import * as Context from "effect/Context";
4
13
  import * as Effect from "effect/Effect";
5
14
  import * as Layer from "effect/Layer";
6
15
  import type * as Scope from "effect/Scope";
7
- import * as ServiceMap from "effect/ServiceMap";
8
16
  import * as Client from "effect/unstable/http/HttpClient";
9
17
  import * as Http from "node:http";
10
18
  import * as Https from "node:https";
11
19
  import * as Undici from "./Undici.ts";
12
20
  export {
13
21
  /**
14
- * @since 1.0.0
15
- * @category Fetch
22
+ * Provides a fetch-based HTTP client implementation for Node.js.
23
+ *
24
+ * **When to use**
25
+ *
26
+ * Use to access or override the fetch implementation used by the Node
27
+ * fetch-based HTTP client.
28
+ *
29
+ * @category fetch
30
+ * @since 4.0.0
16
31
  */
17
32
  Fetch,
18
33
  /**
19
- * @since 1.0.0
20
- * @category Fetch
34
+ * Layer that provides the fetch-based HTTP client implementation.
35
+ *
36
+ * @category fetch
37
+ * @since 4.0.0
21
38
  */
22
39
  layer as layerFetch,
23
40
  /**
24
- * @since 1.0.0
25
- * @category Fetch
41
+ * Provides request initialization options accepted by the fetch-based HTTP client.
42
+ *
43
+ * **When to use**
44
+ *
45
+ * Use to provide default fetch request options for Node HTTP requests.
46
+ *
47
+ * @category fetch
48
+ * @since 4.0.0
26
49
  */
27
50
  RequestInit } from "effect/unstable/http/FetchHttpClient";
28
- declare const Dispatcher_base: ServiceMap.ServiceClass<Dispatcher, "@effect/platform-node/NodeHttpClient/Dispatcher", Undici.Dispatcher>;
51
+ declare const Dispatcher_base: Context.ServiceClass<Dispatcher, "@effect/platform-node/NodeHttpClient/Dispatcher", Undici.Dispatcher>;
29
52
  /**
30
- * @since 1.0.0
53
+ * Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
54
+ * client.
55
+ *
31
56
  * @category Dispatcher
57
+ * @since 4.0.0
32
58
  */
33
59
  export declare class Dispatcher extends Dispatcher_base {
34
60
  }
35
61
  /**
36
- * @since 1.0.0
62
+ * Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
63
+ * scope is finalized.
64
+ *
37
65
  * @category Dispatcher
66
+ * @since 4.0.0
38
67
  */
39
68
  export declare const makeDispatcher: Effect.Effect<Undici.Dispatcher, never, Scope.Scope>;
40
69
  /**
41
- * @since 1.0.0
70
+ * Provides the `Dispatcher` service using a scoped Undici `Agent`.
71
+ *
42
72
  * @category Dispatcher
73
+ * @since 4.0.0
43
74
  */
44
75
  export declare const layerDispatcher: Layer.Layer<Dispatcher>;
45
76
  /**
46
- * @since 1.0.0
77
+ * Provides the `Dispatcher` service from Undici's process-global dispatcher,
78
+ * without creating or owning a new agent.
79
+ *
47
80
  * @category Dispatcher
81
+ * @since 4.0.0
48
82
  */
49
83
  export declare const dispatcherLayerGlobal: Layer.Layer<Dispatcher>;
50
84
  /**
51
- * @since 1.0.0
52
- * @category undici
85
+ * Fiber reference containing default Undici request options applied to requests
86
+ * sent by `makeUndici`.
87
+ *
88
+ * @category Undici
89
+ * @since 4.0.0
53
90
  */
54
- export declare const UndiciOptions: ServiceMap.Reference<Partial<Undici.Dispatcher.RequestOptions<null>>>;
91
+ export declare const UndiciOptions: Context.Reference<Partial<Undici.Dispatcher.RequestOptions<null>>>;
55
92
  /**
56
- * @since 1.0.0
57
- * @category undici
93
+ * Creates an `HttpClient` that sends requests through the current Undici
94
+ * `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
95
+ * transport and decode failures to `HttpClientError`.
96
+ *
97
+ * @category Undici
98
+ * @since 4.0.0
58
99
  */
59
100
  export declare const makeUndici: Effect.Effect<Client.HttpClient, never, Dispatcher>;
60
101
  /**
61
- * @since 1.0.0
102
+ * Provides an Undici-backed `HttpClient` using the current `Dispatcher`
103
+ * service.
104
+ *
62
105
  * @category Undici
106
+ * @since 4.0.0
63
107
  */
64
108
  export declare const layerUndiciNoDispatcher: Layer.Layer<Client.HttpClient, never, Dispatcher>;
65
109
  /**
66
- * @since 1.0.0
110
+ * Provides an Undici-backed `HttpClient` together with a scoped default
111
+ * Undici `Agent` dispatcher.
112
+ *
67
113
  * @category Undici
114
+ * @since 4.0.0
68
115
  */
69
116
  export declare const layerUndici: Layer.Layer<Client.HttpClient>;
70
- declare const HttpAgent_base: ServiceMap.ServiceClass<HttpAgent, "@effect/platform-node/NodeHttpClient/HttpAgent", {
117
+ declare const HttpAgent_base: Context.ServiceClass<HttpAgent, "@effect/platform-node/NodeHttpClient/HttpAgent", {
71
118
  readonly http: Http.Agent;
72
119
  readonly https: Https.Agent;
73
120
  }>;
74
121
  /**
75
- * @since 1.0.0
122
+ * Service tag for the paired Node `http` and `https` agents used by the
123
+ * node:http-backed HTTP client.
124
+ *
76
125
  * @category HttpAgent
126
+ * @since 4.0.0
77
127
  */
78
128
  export declare class HttpAgent extends HttpAgent_base {
79
129
  }
80
130
  /**
81
- * @since 1.0.0
131
+ * Acquires Node `http` and `https` agents with the supplied options and
132
+ * destroys both agents when the enclosing scope is finalized.
133
+ *
82
134
  * @category HttpAgent
135
+ * @since 4.0.0
83
136
  */
84
137
  export declare const makeAgent: (options?: Https.AgentOptions) => Effect.Effect<HttpAgent["Service"], never, Scope.Scope>;
85
138
  /**
86
- * @since 1.0.0
139
+ * Provides the `HttpAgent` service using scoped Node `http` and `https`
140
+ * agents configured with the supplied options.
141
+ *
87
142
  * @category HttpAgent
143
+ * @since 4.0.0
88
144
  */
89
145
  export declare const layerAgentOptions: (options?: Https.AgentOptions | undefined) => Layer.Layer<HttpAgent>;
90
146
  /**
91
- * @since 1.0.0
147
+ * Provides the `HttpAgent` service using default scoped Node `http` and
148
+ * `https` agents.
149
+ *
92
150
  * @category HttpAgent
151
+ * @since 4.0.0
93
152
  */
94
153
  export declare const layerAgent: Layer.Layer<HttpAgent>;
95
154
  /**
96
- * @since 1.0.0
155
+ * Creates an `HttpClient` backed by Node `http` and `https`, using the
156
+ * current `HttpAgent`, streaming request bodies, and wrapping Node responses
157
+ * as `HttpClientResponse` values.
158
+ *
97
159
  * @category node:http
160
+ * @since 4.0.0
98
161
  */
99
162
  export declare const makeNodeHttp: Effect.Effect<Client.HttpClient, never, HttpAgent>;
100
163
  /**
101
- * @since 1.0.0
164
+ * Provides a node:http-backed `HttpClient` using the current `HttpAgent`
165
+ * service.
166
+ *
102
167
  * @category node:http
168
+ * @since 4.0.0
103
169
  */
104
170
  export declare const layerNodeHttpNoAgent: Layer.Layer<Client.HttpClient, never, HttpAgent>;
105
171
  /**
106
- * @since 1.0.0
172
+ * Provides a node:http-backed `HttpClient` together with default scoped Node
173
+ * `http` and `https` agents.
174
+ *
107
175
  * @category node:http
176
+ * @since 4.0.0
108
177
  */
109
178
  export declare const layerNodeHttp: Layer.Layer<Client.HttpClient>;
110
179
  //# 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;;;;;;;;;;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,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,21 @@
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 `Fetch`, `RequestInit`,
6
+ * and `layerFetch` APIs, defines an Undici-backed client with dispatcher
7
+ * services and request options, and defines a lower-level `node:http` /
8
+ * `node:https` client with scoped HTTP agent layers.
9
+ *
10
+ * @since 4.0.0
3
11
  */
12
+ import * as Context from "effect/Context";
4
13
  import * as Effect from "effect/Effect";
5
14
  import { flow } from "effect/Function";
6
15
  import * as Inspectable from "effect/Inspectable";
7
16
  import * as Layer from "effect/Layer";
8
- import * as ServiceMap from "effect/ServiceMap";
17
+ import * as Option from "effect/Option";
18
+ import { pipeArguments } from "effect/Pipeable";
9
19
  import * as Stream from "effect/Stream";
10
20
  import * as Cookies from "effect/unstable/http/Cookies";
11
21
  import * as Headers from "effect/unstable/http/Headers";
@@ -27,53 +37,86 @@ import * as Undici from "./Undici.js";
27
37
  // -----------------------------------------------------------------------------
28
38
  export {
29
39
  /**
30
- * @since 1.0.0
31
- * @category Fetch
40
+ * Provides a fetch-based HTTP client implementation for Node.js.
41
+ *
42
+ * **When to use**
43
+ *
44
+ * Use to access or override the fetch implementation used by the Node
45
+ * fetch-based HTTP client.
46
+ *
47
+ * @category fetch
48
+ * @since 4.0.0
32
49
  */
33
50
  Fetch,
34
51
  /**
35
- * @since 1.0.0
36
- * @category Fetch
52
+ * Layer that provides the fetch-based HTTP client implementation.
53
+ *
54
+ * @category fetch
55
+ * @since 4.0.0
37
56
  */
38
57
  layer as layerFetch,
39
58
  /**
40
- * @since 1.0.0
41
- * @category Fetch
59
+ * Provides request initialization options accepted by the fetch-based HTTP client.
60
+ *
61
+ * **When to use**
62
+ *
63
+ * Use to provide default fetch request options for Node HTTP requests.
64
+ *
65
+ * @category fetch
66
+ * @since 4.0.0
42
67
  */
43
68
  RequestInit } from "effect/unstable/http/FetchHttpClient";
44
69
  // -----------------------------------------------------------------------------
45
70
  // Undici
46
71
  // -----------------------------------------------------------------------------
47
72
  /**
48
- * @since 1.0.0
73
+ * Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
74
+ * client.
75
+ *
49
76
  * @category Dispatcher
77
+ * @since 4.0.0
50
78
  */
51
- export class Dispatcher extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-node/NodeHttpClient/Dispatcher") {}
79
+ export class Dispatcher extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/Dispatcher") {}
52
80
  /**
53
- * @since 1.0.0
81
+ * Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
82
+ * scope is finalized.
83
+ *
54
84
  * @category Dispatcher
85
+ * @since 4.0.0
55
86
  */
56
87
  export const makeDispatcher = /*#__PURE__*/Effect.acquireRelease(/*#__PURE__*/Effect.sync(() => new Undici.Agent()), dispatcher => Effect.promise(() => dispatcher.destroy()));
57
88
  /**
58
- * @since 1.0.0
89
+ * Provides the `Dispatcher` service using a scoped Undici `Agent`.
90
+ *
59
91
  * @category Dispatcher
92
+ * @since 4.0.0
60
93
  */
61
94
  export const layerDispatcher = /*#__PURE__*/Layer.effect(Dispatcher)(makeDispatcher);
62
95
  /**
63
- * @since 1.0.0
96
+ * Provides the `Dispatcher` service from Undici's process-global dispatcher,
97
+ * without creating or owning a new agent.
98
+ *
64
99
  * @category Dispatcher
100
+ * @since 4.0.0
65
101
  */
66
102
  export const dispatcherLayerGlobal = /*#__PURE__*/Layer.sync(Dispatcher)(() => Undici.getGlobalDispatcher());
67
103
  /**
68
- * @since 1.0.0
69
- * @category undici
104
+ * Fiber reference containing default Undici request options applied to requests
105
+ * sent by `makeUndici`.
106
+ *
107
+ * @category Undici
108
+ * @since 4.0.0
70
109
  */
71
- export const UndiciOptions = /*#__PURE__*/ServiceMap.Reference("@effect/platform-node/NodeHttpClient/UndiciOptions", {
110
+ export const UndiciOptions = /*#__PURE__*/Context.Reference("@effect/platform-node/NodeHttpClient/UndiciOptions", {
72
111
  defaultValue: () => ({})
73
112
  });
74
113
  /**
75
- * @since 1.0.0
76
- * @category undici
114
+ * Creates an `HttpClient` that sends requests through the current Undici
115
+ * `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
116
+ * transport and decode failures to `HttpClientError`.
117
+ *
118
+ * @category Undici
119
+ * @since 4.0.0
77
120
  */
78
121
  export const makeUndici = /*#__PURE__*/Effect.gen(function* () {
79
122
  const dispatcher = yield* Dispatcher;
@@ -151,7 +194,7 @@ class UndiciResponse extends Inspectable.Class {
151
194
  return this.cachedCookies = header ? Cookies.fromSetCookie(header) : Cookies.empty;
152
195
  }
153
196
  get remoteAddress() {
154
- return undefined;
197
+ return Option.none();
155
198
  }
156
199
  get stream() {
157
200
  return NodeStream.fromReadable({
@@ -179,7 +222,10 @@ class UndiciResponse extends Inspectable.Class {
179
222
  }
180
223
  textBody;
181
224
  get text() {
182
- return this.textBody ??= Effect.tryPromise({
225
+ if (this.textBody) {
226
+ return this.textBody;
227
+ }
228
+ this.textBody = Effect.tryPromise({
183
229
  try: () => this.source.body.text(),
184
230
  catch: cause => new Error.HttpClientError({
185
231
  reason: new Error.DecodeError({
@@ -189,6 +235,8 @@ class UndiciResponse extends Inspectable.Class {
189
235
  })
190
236
  })
191
237
  }).pipe(Effect.cached, Effect.runSync);
238
+ this.arrayBufferBody = Effect.map(this.textBody, _ => new TextEncoder().encode(_).buffer);
239
+ return this.textBody;
192
240
  }
193
241
  get urlParamsBody() {
194
242
  return Effect.flatMap(this.text, _ => Effect.try({
@@ -217,7 +265,10 @@ class UndiciResponse extends Inspectable.Class {
217
265
  }
218
266
  arrayBufferBody;
219
267
  get arrayBuffer() {
220
- return this.arrayBufferBody ??= Effect.tryPromise({
268
+ if (this.arrayBufferBody) {
269
+ return this.arrayBufferBody;
270
+ }
271
+ this.arrayBufferBody = Effect.tryPromise({
221
272
  try: () => this.source.body.arrayBuffer(),
222
273
  catch: cause => new Error.HttpClientError({
223
274
  reason: new Error.DecodeError({
@@ -227,6 +278,8 @@ class UndiciResponse extends Inspectable.Class {
227
278
  })
228
279
  })
229
280
  }).pipe(Effect.cached, Effect.runSync);
281
+ this.textBody = Effect.map(this.arrayBufferBody, _ => new TextDecoder().decode(_));
282
+ return this.arrayBufferBody;
230
283
  }
231
284
  toJSON() {
232
285
  return IncomingMessage.inspect(this, {
@@ -235,46 +288,71 @@ class UndiciResponse extends Inspectable.Class {
235
288
  status: this.status
236
289
  });
237
290
  }
291
+ pipe() {
292
+ return pipeArguments(this, arguments);
293
+ }
238
294
  }
239
295
  /**
240
- * @since 1.0.0
296
+ * Provides an Undici-backed `HttpClient` using the current `Dispatcher`
297
+ * service.
298
+ *
241
299
  * @category Undici
300
+ * @since 4.0.0
242
301
  */
243
- export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedServices(makeUndici);
302
+ export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedContext(makeUndici);
244
303
  /**
245
- * @since 1.0.0
304
+ * Provides an Undici-backed `HttpClient` together with a scoped default
305
+ * Undici `Agent` dispatcher.
306
+ *
246
307
  * @category Undici
308
+ * @since 4.0.0
247
309
  */
248
310
  export const layerUndici = /*#__PURE__*/Layer.provide(layerUndiciNoDispatcher, layerDispatcher);
249
311
  // -----------------------------------------------------------------------------
250
312
  // node:http
251
313
  // -----------------------------------------------------------------------------
252
314
  /**
253
- * @since 1.0.0
315
+ * Service tag for the paired Node `http` and `https` agents used by the
316
+ * node:http-backed HTTP client.
317
+ *
254
318
  * @category HttpAgent
319
+ * @since 4.0.0
255
320
  */
256
- export class HttpAgent extends /*#__PURE__*/ServiceMap.Service()("@effect/platform-node/NodeHttpClient/HttpAgent") {}
321
+ export class HttpAgent extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/HttpAgent") {}
257
322
  /**
258
- * @since 1.0.0
323
+ * Acquires Node `http` and `https` agents with the supplied options and
324
+ * destroys both agents when the enclosing scope is finalized.
325
+ *
259
326
  * @category HttpAgent
327
+ * @since 4.0.0
260
328
  */
261
329
  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
330
  http,
263
331
  https
264
332
  }));
265
333
  /**
266
- * @since 1.0.0
334
+ * Provides the `HttpAgent` service using scoped Node `http` and `https`
335
+ * agents configured with the supplied options.
336
+ *
267
337
  * @category HttpAgent
338
+ * @since 4.0.0
268
339
  */
269
340
  export const layerAgentOptions = /*#__PURE__*/flow(makeAgent, /*#__PURE__*/Layer.effect(HttpAgent));
270
341
  /**
271
- * @since 1.0.0
342
+ * Provides the `HttpAgent` service using default scoped Node `http` and
343
+ * `https` agents.
344
+ *
272
345
  * @category HttpAgent
346
+ * @since 4.0.0
273
347
  */
274
348
  export const layerAgent = /*#__PURE__*/layerAgentOptions();
275
349
  /**
276
- * @since 1.0.0
350
+ * Creates an `HttpClient` backed by Node `http` and `https`, using the
351
+ * current `HttpAgent`, streaming request bodies, and wrapping Node responses
352
+ * as `HttpClientResponse` values.
353
+ *
277
354
  * @category node:http
355
+ * @since 4.0.0
278
356
  */
279
357
  export const makeNodeHttp = /*#__PURE__*/Effect.gen(function* () {
280
358
  const agent = yield* HttpAgent;
@@ -432,15 +510,24 @@ class NodeHttpResponse extends NodeHttpIncomingMessage {
432
510
  status: this.status
433
511
  });
434
512
  }
513
+ pipe() {
514
+ return pipeArguments(this, arguments);
515
+ }
435
516
  }
436
517
  /**
437
- * @since 1.0.0
518
+ * Provides a node:http-backed `HttpClient` using the current `HttpAgent`
519
+ * service.
520
+ *
438
521
  * @category node:http
522
+ * @since 4.0.0
439
523
  */
440
- export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedServices(makeNodeHttp);
524
+ export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedContext(makeNodeHttp);
441
525
  /**
442
- * @since 1.0.0
526
+ * Provides a node:http-backed `HttpClient` together with default scoped Node
527
+ * `http` and `https` agents.
528
+ *
443
529
  * @category node:http
530
+ * @since 4.0.0
444
531
  */
445
532
  export const layerNodeHttp = /*#__PURE__*/Layer.provide(layerNodeHttpNoAgent, layerAgent);
446
533
  //# 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,62 @@
1
1
  /**
2
- * @since 1.0.0
2
+ * Adapter base for exposing Node `http.IncomingMessage` values as Effect HTTP
3
+ * incoming messages.
4
+ *
5
+ * Server requests and Node client responses both arrive as Node readable
6
+ * streams with raw header objects, socket metadata, and one-shot body
7
+ * consumption. This module's `NodeHttpIncomingMessage` class keeps the original
8
+ * Node message available while presenting Effect's `HttpIncomingMessage` shape:
9
+ * typed headers, remote address lookup, stream access, and text, JSON,
10
+ * URL-encoded, and array-buffer body readers.
11
+ *
12
+ * @since 4.0.0
3
13
  */
4
14
  import * as Effect from "effect/Effect";
5
15
  import * as Inspectable from "effect/Inspectable";
16
+ import * as Option from "effect/Option";
17
+ import type * as Schema from "effect/Schema";
6
18
  import type * as Stream from "effect/Stream";
7
19
  import * as Headers from "effect/unstable/http/Headers";
8
20
  import * as IncomingMessage from "effect/unstable/http/HttpIncomingMessage";
9
21
  import * as UrlParams from "effect/unstable/http/UrlParams";
10
22
  import type * as Http from "node:http";
11
23
  /**
12
- * @since 1.0.0
13
- * @category Constructors
24
+ * Adapts a Node `IncomingMessage` to Effect HTTP incoming messages.
25
+ *
26
+ * **When to use**
27
+ *
28
+ * Use to implement Node HTTP request or response adapters that expose the
29
+ * Effect HTTP incoming-message interface.
30
+ *
31
+ * **Details**
32
+ *
33
+ * The adapter exposes headers, remote address, stream access, and cached body
34
+ * decoders. Subclasses provide the error mapping for unknown Node errors.
35
+ *
36
+ * @category constructors
37
+ * @since 4.0.0
14
38
  */
15
39
  export declare abstract class NodeHttpIncomingMessage<E> extends Inspectable.Class implements IncomingMessage.HttpIncomingMessage<E> {
16
40
  /**
17
- * @since 1.0.0
41
+ * Marks this value as an HTTP incoming message for runtime guards.
42
+ *
43
+ * @since 4.0.0
18
44
  */
19
45
  readonly [IncomingMessage.TypeId]: typeof IncomingMessage.TypeId;
20
46
  readonly source: Http.IncomingMessage;
21
47
  readonly onError: (error: unknown) => E;
22
- readonly remoteAddressOverride?: string | undefined;
23
- constructor(source: Http.IncomingMessage, onError: (error: unknown) => E, remoteAddressOverride?: string);
48
+ readonly remoteAddressOverride?: Option.Option<string> | undefined;
49
+ constructor(source: Http.IncomingMessage, onError: (error: unknown) => E, remoteAddressOverride?: Option.Option<string>);
24
50
  get headers(): Headers.Headers;
25
- get remoteAddress(): string | undefined;
51
+ get remoteAddress(): Option.Option<string>;
26
52
  private textEffect;
27
53
  get text(): Effect.Effect<string, E>;
28
54
  get textUnsafe(): string;
29
- get json(): Effect.Effect<unknown, E>;
30
- get jsonUnsafe(): unknown;
55
+ get json(): Effect.Effect<Schema.Json, E>;
56
+ get jsonUnsafe(): Schema.Json;
31
57
  get urlParamsBody(): Effect.Effect<UrlParams.UrlParams, E>;
32
58
  get stream(): Stream.Stream<Uint8Array, E>;
59
+ private arrayBufferEffect;
33
60
  get arrayBuffer(): Effect.Effect<ArrayBuffer, E>;
34
61
  }
35
62
  //# sourceMappingURL=NodeHttpIncomingMessage.d.ts.map