@effect/platform-node 4.0.0-beta.65 → 4.0.0-beta.67
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.
- package/dist/Mime.d.ts +3 -3
- package/dist/Mime.js +3 -3
- package/dist/NodeChildProcessSpawner.d.ts +1 -1
- package/dist/NodeChildProcessSpawner.js +1 -1
- package/dist/NodeClusterHttp.d.ts +44 -4
- package/dist/NodeClusterHttp.d.ts.map +1 -1
- package/dist/NodeClusterHttp.js +10 -3
- package/dist/NodeClusterHttp.js.map +1 -1
- package/dist/NodeClusterSocket.d.ts +46 -6
- package/dist/NodeClusterSocket.d.ts.map +1 -1
- package/dist/NodeClusterSocket.js +46 -6
- package/dist/NodeClusterSocket.js.map +1 -1
- package/dist/NodeFileSystem.d.ts +3 -1
- package/dist/NodeFileSystem.d.ts.map +1 -1
- package/dist/NodeFileSystem.js +21 -2
- package/dist/NodeFileSystem.js.map +1 -1
- package/dist/NodeHttpClient.d.ts +91 -19
- package/dist/NodeHttpClient.d.ts.map +1 -1
- package/dist/NodeHttpClient.js +91 -19
- package/dist/NodeHttpClient.js.map +1 -1
- package/dist/NodeHttpIncomingMessage.d.ts +21 -3
- package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
- package/dist/NodeHttpIncomingMessage.js +22 -4
- package/dist/NodeHttpIncomingMessage.js.map +1 -1
- package/dist/NodeHttpPlatform.d.ts +8 -2
- package/dist/NodeHttpPlatform.d.ts.map +1 -1
- package/dist/NodeHttpPlatform.js +30 -3
- package/dist/NodeHttpPlatform.js.map +1 -1
- package/dist/NodeHttpServer.d.ts +35 -8
- package/dist/NodeHttpServer.d.ts.map +1 -1
- package/dist/NodeHttpServer.js +66 -10
- package/dist/NodeHttpServer.js.map +1 -1
- package/dist/NodeHttpServerRequest.d.ts +29 -3
- package/dist/NodeHttpServerRequest.d.ts.map +1 -1
- package/dist/NodeHttpServerRequest.js +9 -2
- package/dist/NodeHttpServerRequest.js.map +1 -1
- package/dist/NodeMultipart.d.ts +31 -4
- package/dist/NodeMultipart.d.ts.map +1 -1
- package/dist/NodeMultipart.js +31 -4
- package/dist/NodeMultipart.js.map +1 -1
- package/dist/NodePath.d.ts +12 -3
- package/dist/NodePath.d.ts.map +1 -1
- package/dist/NodePath.js +27 -4
- package/dist/NodePath.js.map +1 -1
- package/dist/NodeRedis.d.ts +33 -4
- package/dist/NodeRedis.d.ts.map +1 -1
- package/dist/NodeRedis.js +34 -5
- package/dist/NodeRedis.js.map +1 -1
- package/dist/NodeRuntime.d.ts +3 -3
- package/dist/NodeRuntime.d.ts.map +1 -1
- package/dist/NodeRuntime.js +16 -2
- package/dist/NodeRuntime.js.map +1 -1
- package/dist/NodeServices.d.ts +26 -3
- package/dist/NodeServices.d.ts.map +1 -1
- package/dist/NodeServices.js +4 -1
- package/dist/NodeServices.js.map +1 -1
- package/dist/NodeSink.d.ts +2 -2
- package/dist/NodeSink.js +2 -2
- package/dist/NodeSocket.d.ts +14 -4
- package/dist/NodeSocket.d.ts.map +1 -1
- package/dist/NodeSocket.js +32 -5
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeSocketServer.d.ts +2 -2
- package/dist/NodeSocketServer.js +2 -2
- package/dist/NodeStdio.d.ts +4 -1
- package/dist/NodeStdio.d.ts.map +1 -1
- package/dist/NodeStdio.js +21 -2
- package/dist/NodeStdio.js.map +1 -1
- package/dist/NodeStream.d.ts +2 -2
- package/dist/NodeStream.js +2 -2
- package/dist/NodeTerminal.d.ts +8 -2
- package/dist/NodeTerminal.d.ts.map +1 -1
- package/dist/NodeTerminal.js +19 -3
- package/dist/NodeTerminal.js.map +1 -1
- package/dist/NodeWorker.d.ts +9 -2
- package/dist/NodeWorker.d.ts.map +1 -1
- package/dist/NodeWorker.js +31 -6
- package/dist/NodeWorker.js.map +1 -1
- package/dist/NodeWorkerRunner.d.ts +5 -1
- package/dist/NodeWorkerRunner.d.ts.map +1 -1
- package/dist/NodeWorkerRunner.js +26 -4
- package/dist/NodeWorkerRunner.js.map +1 -1
- package/dist/Undici.d.ts +3 -3
- package/dist/Undici.js +3 -3
- package/dist/index.d.ts +25 -25
- package/dist/index.js +25 -25
- package/package.json +6 -6
- package/src/Mime.ts +3 -3
- package/src/NodeChildProcessSpawner.ts +1 -1
- package/src/NodeClusterHttp.ts +44 -4
- package/src/NodeClusterSocket.ts +46 -6
- package/src/NodeFileSystem.ts +21 -2
- package/src/NodeHttpClient.ts +91 -19
- package/src/NodeHttpIncomingMessage.ts +22 -4
- package/src/NodeHttpPlatform.ts +30 -3
- package/src/NodeHttpServer.ts +66 -10
- package/src/NodeHttpServerRequest.ts +29 -3
- package/src/NodeMultipart.ts +31 -4
- package/src/NodePath.ts +27 -4
- package/src/NodeRedis.ts +34 -5
- package/src/NodeRuntime.ts +18 -4
- package/src/NodeServices.ts +26 -3
- package/src/NodeSink.ts +2 -2
- package/src/NodeSocket.ts +32 -5
- package/src/NodeSocketServer.ts +2 -2
- package/src/NodeStdio.ts +21 -2
- package/src/NodeStream.ts +2 -2
- package/src/NodeTerminal.ts +19 -3
- package/src/NodeWorker.ts +31 -6
- package/src/NodeWorkerRunner.ts +26 -4
- package/src/Undici.ts +3 -3
- package/src/index.ts +25 -25
package/dist/NodeHttpClient.d.ts
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
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
|
*/
|
|
4
30
|
import * as Context from "effect/Context";
|
|
5
31
|
import * as Effect from "effect/Effect";
|
|
@@ -11,60 +37,84 @@ import * as Https from "node:https";
|
|
|
11
37
|
import * as Undici from "./Undici.ts";
|
|
12
38
|
export {
|
|
13
39
|
/**
|
|
14
|
-
* @since 1.0.0
|
|
15
40
|
* @category Fetch
|
|
41
|
+
* @since 4.0.0
|
|
16
42
|
*/
|
|
17
43
|
Fetch,
|
|
18
44
|
/**
|
|
19
|
-
* @since 1.0.0
|
|
20
45
|
* @category Fetch
|
|
46
|
+
* @since 4.0.0
|
|
21
47
|
*/
|
|
22
48
|
layer as layerFetch,
|
|
23
49
|
/**
|
|
24
|
-
* @since 1.0.0
|
|
25
50
|
* @category Fetch
|
|
51
|
+
* @since 4.0.0
|
|
26
52
|
*/
|
|
27
53
|
RequestInit } from "effect/unstable/http/FetchHttpClient";
|
|
28
54
|
declare const Dispatcher_base: Context.ServiceClass<Dispatcher, "@effect/platform-node/NodeHttpClient/Dispatcher", Undici.Dispatcher>;
|
|
29
55
|
/**
|
|
30
|
-
*
|
|
56
|
+
* Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
|
|
57
|
+
* client.
|
|
58
|
+
*
|
|
31
59
|
* @category Dispatcher
|
|
60
|
+
* @since 4.0.0
|
|
32
61
|
*/
|
|
33
62
|
export declare class Dispatcher extends Dispatcher_base {
|
|
34
63
|
}
|
|
35
64
|
/**
|
|
36
|
-
*
|
|
65
|
+
* Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
|
|
66
|
+
* scope is finalized.
|
|
67
|
+
*
|
|
37
68
|
* @category Dispatcher
|
|
69
|
+
* @since 4.0.0
|
|
38
70
|
*/
|
|
39
71
|
export declare const makeDispatcher: Effect.Effect<Undici.Dispatcher, never, Scope.Scope>;
|
|
40
72
|
/**
|
|
41
|
-
*
|
|
73
|
+
* Provides the `Dispatcher` service using a scoped Undici `Agent`.
|
|
74
|
+
*
|
|
42
75
|
* @category Dispatcher
|
|
76
|
+
* @since 4.0.0
|
|
43
77
|
*/
|
|
44
78
|
export declare const layerDispatcher: Layer.Layer<Dispatcher>;
|
|
45
79
|
/**
|
|
46
|
-
*
|
|
80
|
+
* Provides the `Dispatcher` service from Undici's process-global dispatcher,
|
|
81
|
+
* without creating or owning a new agent.
|
|
82
|
+
*
|
|
47
83
|
* @category Dispatcher
|
|
84
|
+
* @since 4.0.0
|
|
48
85
|
*/
|
|
49
86
|
export declare const dispatcherLayerGlobal: Layer.Layer<Dispatcher>;
|
|
50
87
|
/**
|
|
51
|
-
*
|
|
88
|
+
* Fiber reference containing default Undici request options applied to requests
|
|
89
|
+
* sent by `makeUndici`.
|
|
90
|
+
*
|
|
52
91
|
* @category undici
|
|
92
|
+
* @since 4.0.0
|
|
53
93
|
*/
|
|
54
94
|
export declare const UndiciOptions: Context.Reference<Partial<Undici.Dispatcher.RequestOptions<null>>>;
|
|
55
95
|
/**
|
|
56
|
-
*
|
|
96
|
+
* Creates an `HttpClient` that sends requests through the current Undici
|
|
97
|
+
* `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
|
|
98
|
+
* transport and decode failures to `HttpClientError`.
|
|
99
|
+
*
|
|
57
100
|
* @category undici
|
|
101
|
+
* @since 4.0.0
|
|
58
102
|
*/
|
|
59
103
|
export declare const makeUndici: Effect.Effect<Client.HttpClient, never, Dispatcher>;
|
|
60
104
|
/**
|
|
61
|
-
*
|
|
105
|
+
* Provides an Undici-backed `HttpClient` using the current `Dispatcher`
|
|
106
|
+
* service.
|
|
107
|
+
*
|
|
62
108
|
* @category Undici
|
|
109
|
+
* @since 4.0.0
|
|
63
110
|
*/
|
|
64
111
|
export declare const layerUndiciNoDispatcher: Layer.Layer<Client.HttpClient, never, Dispatcher>;
|
|
65
112
|
/**
|
|
66
|
-
*
|
|
113
|
+
* Provides an Undici-backed `HttpClient` together with a scoped default
|
|
114
|
+
* Undici `Agent` dispatcher.
|
|
115
|
+
*
|
|
67
116
|
* @category Undici
|
|
117
|
+
* @since 4.0.0
|
|
68
118
|
*/
|
|
69
119
|
export declare const layerUndici: Layer.Layer<Client.HttpClient>;
|
|
70
120
|
declare const HttpAgent_base: Context.ServiceClass<HttpAgent, "@effect/platform-node/NodeHttpClient/HttpAgent", {
|
|
@@ -72,39 +122,61 @@ declare const HttpAgent_base: Context.ServiceClass<HttpAgent, "@effect/platform-
|
|
|
72
122
|
readonly https: Https.Agent;
|
|
73
123
|
}>;
|
|
74
124
|
/**
|
|
75
|
-
*
|
|
125
|
+
* Service tag for the paired Node `http` and `https` agents used by the
|
|
126
|
+
* node:http-backed HTTP client.
|
|
127
|
+
*
|
|
76
128
|
* @category HttpAgent
|
|
129
|
+
* @since 4.0.0
|
|
77
130
|
*/
|
|
78
131
|
export declare class HttpAgent extends HttpAgent_base {
|
|
79
132
|
}
|
|
80
133
|
/**
|
|
81
|
-
*
|
|
134
|
+
* Acquires Node `http` and `https` agents with the supplied options and
|
|
135
|
+
* destroys both agents when the enclosing scope is finalized.
|
|
136
|
+
*
|
|
82
137
|
* @category HttpAgent
|
|
138
|
+
* @since 4.0.0
|
|
83
139
|
*/
|
|
84
140
|
export declare const makeAgent: (options?: Https.AgentOptions) => Effect.Effect<HttpAgent["Service"], never, Scope.Scope>;
|
|
85
141
|
/**
|
|
86
|
-
*
|
|
142
|
+
* Provides the `HttpAgent` service using scoped Node `http` and `https`
|
|
143
|
+
* agents configured with the supplied options.
|
|
144
|
+
*
|
|
87
145
|
* @category HttpAgent
|
|
146
|
+
* @since 4.0.0
|
|
88
147
|
*/
|
|
89
148
|
export declare const layerAgentOptions: (options?: Https.AgentOptions | undefined) => Layer.Layer<HttpAgent>;
|
|
90
149
|
/**
|
|
91
|
-
*
|
|
150
|
+
* Provides the `HttpAgent` service using default scoped Node `http` and
|
|
151
|
+
* `https` agents.
|
|
152
|
+
*
|
|
92
153
|
* @category HttpAgent
|
|
154
|
+
* @since 4.0.0
|
|
93
155
|
*/
|
|
94
156
|
export declare const layerAgent: Layer.Layer<HttpAgent>;
|
|
95
157
|
/**
|
|
96
|
-
*
|
|
158
|
+
* Creates an `HttpClient` backed by Node `http` and `https`, using the
|
|
159
|
+
* current `HttpAgent`, streaming request bodies, and wrapping Node responses
|
|
160
|
+
* as `HttpClientResponse` values.
|
|
161
|
+
*
|
|
97
162
|
* @category node:http
|
|
163
|
+
* @since 4.0.0
|
|
98
164
|
*/
|
|
99
165
|
export declare const makeNodeHttp: Effect.Effect<Client.HttpClient, never, HttpAgent>;
|
|
100
166
|
/**
|
|
101
|
-
*
|
|
167
|
+
* Provides a node:http-backed `HttpClient` using the current `HttpAgent`
|
|
168
|
+
* service.
|
|
169
|
+
*
|
|
102
170
|
* @category node:http
|
|
171
|
+
* @since 4.0.0
|
|
103
172
|
*/
|
|
104
173
|
export declare const layerNodeHttpNoAgent: Layer.Layer<Client.HttpClient, never, HttpAgent>;
|
|
105
174
|
/**
|
|
106
|
-
*
|
|
175
|
+
* Provides a node:http-backed `HttpClient` together with default scoped Node
|
|
176
|
+
* `http` and `https` agents.
|
|
177
|
+
*
|
|
107
178
|
* @category node:http
|
|
179
|
+
* @since 4.0.0
|
|
108
180
|
*/
|
|
109
181
|
export declare const layerNodeHttp: Layer.Layer<Client.HttpClient>;
|
|
110
182
|
//# sourceMappingURL=NodeHttpClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHttpClient.d.ts","sourceRoot":"","sources":["../src/NodeHttpClient.ts"],"names":[],"mappings":"AAAA
|
|
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;;;GAGG;AACH,KAAK;AACL;;;GAGG;AACH,KAAK,IAAI,UAAU;AACnB;;;GAGG;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"}
|
package/dist/NodeHttpClient.js
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
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
|
*/
|
|
4
30
|
import * as Context from "effect/Context";
|
|
5
31
|
import * as Effect from "effect/Effect";
|
|
@@ -29,53 +55,71 @@ import * as Undici from "./Undici.js";
|
|
|
29
55
|
// -----------------------------------------------------------------------------
|
|
30
56
|
export {
|
|
31
57
|
/**
|
|
32
|
-
* @since 1.0.0
|
|
33
58
|
* @category Fetch
|
|
59
|
+
* @since 4.0.0
|
|
34
60
|
*/
|
|
35
61
|
Fetch,
|
|
36
62
|
/**
|
|
37
|
-
* @since 1.0.0
|
|
38
63
|
* @category Fetch
|
|
64
|
+
* @since 4.0.0
|
|
39
65
|
*/
|
|
40
66
|
layer as layerFetch,
|
|
41
67
|
/**
|
|
42
|
-
* @since 1.0.0
|
|
43
68
|
* @category Fetch
|
|
69
|
+
* @since 4.0.0
|
|
44
70
|
*/
|
|
45
71
|
RequestInit } from "effect/unstable/http/FetchHttpClient";
|
|
46
72
|
// -----------------------------------------------------------------------------
|
|
47
73
|
// Undici
|
|
48
74
|
// -----------------------------------------------------------------------------
|
|
49
75
|
/**
|
|
50
|
-
*
|
|
76
|
+
* Service tag for the Undici `Dispatcher` used by the Undici-backed HTTP
|
|
77
|
+
* client.
|
|
78
|
+
*
|
|
51
79
|
* @category Dispatcher
|
|
80
|
+
* @since 4.0.0
|
|
52
81
|
*/
|
|
53
82
|
export class Dispatcher extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/Dispatcher") {}
|
|
54
83
|
/**
|
|
55
|
-
*
|
|
84
|
+
* Acquires a new Undici `Agent` dispatcher and destroys it when the enclosing
|
|
85
|
+
* scope is finalized.
|
|
86
|
+
*
|
|
56
87
|
* @category Dispatcher
|
|
88
|
+
* @since 4.0.0
|
|
57
89
|
*/
|
|
58
90
|
export const makeDispatcher = /*#__PURE__*/Effect.acquireRelease(/*#__PURE__*/Effect.sync(() => new Undici.Agent()), dispatcher => Effect.promise(() => dispatcher.destroy()));
|
|
59
91
|
/**
|
|
60
|
-
*
|
|
92
|
+
* Provides the `Dispatcher` service using a scoped Undici `Agent`.
|
|
93
|
+
*
|
|
61
94
|
* @category Dispatcher
|
|
95
|
+
* @since 4.0.0
|
|
62
96
|
*/
|
|
63
97
|
export const layerDispatcher = /*#__PURE__*/Layer.effect(Dispatcher)(makeDispatcher);
|
|
64
98
|
/**
|
|
65
|
-
*
|
|
99
|
+
* Provides the `Dispatcher` service from Undici's process-global dispatcher,
|
|
100
|
+
* without creating or owning a new agent.
|
|
101
|
+
*
|
|
66
102
|
* @category Dispatcher
|
|
103
|
+
* @since 4.0.0
|
|
67
104
|
*/
|
|
68
105
|
export const dispatcherLayerGlobal = /*#__PURE__*/Layer.sync(Dispatcher)(() => Undici.getGlobalDispatcher());
|
|
69
106
|
/**
|
|
70
|
-
*
|
|
107
|
+
* Fiber reference containing default Undici request options applied to requests
|
|
108
|
+
* sent by `makeUndici`.
|
|
109
|
+
*
|
|
71
110
|
* @category undici
|
|
111
|
+
* @since 4.0.0
|
|
72
112
|
*/
|
|
73
113
|
export const UndiciOptions = /*#__PURE__*/Context.Reference("@effect/platform-node/NodeHttpClient/UndiciOptions", {
|
|
74
114
|
defaultValue: () => ({})
|
|
75
115
|
});
|
|
76
116
|
/**
|
|
77
|
-
*
|
|
117
|
+
* Creates an `HttpClient` that sends requests through the current Undici
|
|
118
|
+
* `Dispatcher`, converts Effect HTTP bodies to Undici bodies, and maps
|
|
119
|
+
* transport and decode failures to `HttpClientError`.
|
|
120
|
+
*
|
|
78
121
|
* @category undici
|
|
122
|
+
* @since 4.0.0
|
|
79
123
|
*/
|
|
80
124
|
export const makeUndici = /*#__PURE__*/Effect.gen(function* () {
|
|
81
125
|
const dispatcher = yield* Dispatcher;
|
|
@@ -252,44 +296,66 @@ class UndiciResponse extends Inspectable.Class {
|
|
|
252
296
|
}
|
|
253
297
|
}
|
|
254
298
|
/**
|
|
255
|
-
*
|
|
299
|
+
* Provides an Undici-backed `HttpClient` using the current `Dispatcher`
|
|
300
|
+
* service.
|
|
301
|
+
*
|
|
256
302
|
* @category Undici
|
|
303
|
+
* @since 4.0.0
|
|
257
304
|
*/
|
|
258
305
|
export const layerUndiciNoDispatcher = /*#__PURE__*/Client.layerMergedContext(makeUndici);
|
|
259
306
|
/**
|
|
260
|
-
*
|
|
307
|
+
* Provides an Undici-backed `HttpClient` together with a scoped default
|
|
308
|
+
* Undici `Agent` dispatcher.
|
|
309
|
+
*
|
|
261
310
|
* @category Undici
|
|
311
|
+
* @since 4.0.0
|
|
262
312
|
*/
|
|
263
313
|
export const layerUndici = /*#__PURE__*/Layer.provide(layerUndiciNoDispatcher, layerDispatcher);
|
|
264
314
|
// -----------------------------------------------------------------------------
|
|
265
315
|
// node:http
|
|
266
316
|
// -----------------------------------------------------------------------------
|
|
267
317
|
/**
|
|
268
|
-
*
|
|
318
|
+
* Service tag for the paired Node `http` and `https` agents used by the
|
|
319
|
+
* node:http-backed HTTP client.
|
|
320
|
+
*
|
|
269
321
|
* @category HttpAgent
|
|
322
|
+
* @since 4.0.0
|
|
270
323
|
*/
|
|
271
324
|
export class HttpAgent extends /*#__PURE__*/Context.Service()("@effect/platform-node/NodeHttpClient/HttpAgent") {}
|
|
272
325
|
/**
|
|
273
|
-
*
|
|
326
|
+
* Acquires Node `http` and `https` agents with the supplied options and
|
|
327
|
+
* destroys both agents when the enclosing scope is finalized.
|
|
328
|
+
*
|
|
274
329
|
* @category HttpAgent
|
|
330
|
+
* @since 4.0.0
|
|
275
331
|
*/
|
|
276
332
|
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) => ({
|
|
277
333
|
http,
|
|
278
334
|
https
|
|
279
335
|
}));
|
|
280
336
|
/**
|
|
281
|
-
*
|
|
337
|
+
* Provides the `HttpAgent` service using scoped Node `http` and `https`
|
|
338
|
+
* agents configured with the supplied options.
|
|
339
|
+
*
|
|
282
340
|
* @category HttpAgent
|
|
341
|
+
* @since 4.0.0
|
|
283
342
|
*/
|
|
284
343
|
export const layerAgentOptions = /*#__PURE__*/flow(makeAgent, /*#__PURE__*/Layer.effect(HttpAgent));
|
|
285
344
|
/**
|
|
286
|
-
*
|
|
345
|
+
* Provides the `HttpAgent` service using default scoped Node `http` and
|
|
346
|
+
* `https` agents.
|
|
347
|
+
*
|
|
287
348
|
* @category HttpAgent
|
|
349
|
+
* @since 4.0.0
|
|
288
350
|
*/
|
|
289
351
|
export const layerAgent = /*#__PURE__*/layerAgentOptions();
|
|
290
352
|
/**
|
|
291
|
-
*
|
|
353
|
+
* Creates an `HttpClient` backed by Node `http` and `https`, using the
|
|
354
|
+
* current `HttpAgent`, streaming request bodies, and wrapping Node responses
|
|
355
|
+
* as `HttpClientResponse` values.
|
|
356
|
+
*
|
|
292
357
|
* @category node:http
|
|
358
|
+
* @since 4.0.0
|
|
293
359
|
*/
|
|
294
360
|
export const makeNodeHttp = /*#__PURE__*/Effect.gen(function* () {
|
|
295
361
|
const agent = yield* HttpAgent;
|
|
@@ -452,13 +518,19 @@ class NodeHttpResponse extends NodeHttpIncomingMessage {
|
|
|
452
518
|
}
|
|
453
519
|
}
|
|
454
520
|
/**
|
|
455
|
-
*
|
|
521
|
+
* Provides a node:http-backed `HttpClient` using the current `HttpAgent`
|
|
522
|
+
* service.
|
|
523
|
+
*
|
|
456
524
|
* @category node:http
|
|
525
|
+
* @since 4.0.0
|
|
457
526
|
*/
|
|
458
527
|
export const layerNodeHttpNoAgent = /*#__PURE__*/Client.layerMergedContext(makeNodeHttp);
|
|
459
528
|
/**
|
|
460
|
-
*
|
|
529
|
+
* Provides a node:http-backed `HttpClient` together with default scoped Node
|
|
530
|
+
* `http` and `https` agents.
|
|
531
|
+
*
|
|
461
532
|
* @category node:http
|
|
533
|
+
* @since 4.0.0
|
|
462
534
|
*/
|
|
463
535
|
export const layerNodeHttp = /*#__PURE__*/Layer.provide(layerNodeHttpNoAgent, layerAgent);
|
|
464
536
|
//# sourceMappingURL=NodeHttpClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHttpClient.js","names":["Context","Effect","flow","Inspectable","Layer","Option","pipeArguments","Stream","Cookies","Headers","Client","Error","Response","IncomingMessage","UrlParams","Http","Https","Readable","pipeline","NodeHttpIncomingMessage","NodeSink","NodeStream","Undici","Fetch","layer","layerFetch","RequestInit","Dispatcher","Service","makeDispatcher","acquireRelease","sync","Agent","dispatcher","promise","destroy","layerDispatcher","effect","dispatcherLayerGlobal","getGlobalDispatcher","UndiciOptions","Reference","defaultValue","makeUndici","gen","make","request","url","signal","fiber","convertBody","body","pipe","flatMap","tryPromise","try","getRef","method","headers","origin","path","pathname","search","hash","headersTimeout","bodyTimeout","catch","cause","HttpClientError","reason","TransportError","map","response","UndiciResponse","_tag","succeed","formData","toReadable","stream","noopErrorHandler","_","Class","TypeId","source","constructor","on","status","statusCode","statusText","undefined","fromInput","cachedCookies","cookies","header","fromSetCookie","empty","remoteAddress","none","fromReadable","evaluate","onError","DecodeError","json","text","JSON","parse","textBody","cached","runSync","arrayBufferBody","TextEncoder","encode","buffer","urlParamsBody","URLSearchParams","formDataBody","arrayBuffer","TextDecoder","decode","toJSON","inspect","_id","arguments","layerUndiciNoDispatcher","layerMergedContext","layerUndici","provide","HttpAgent","makeAgent","options","zipWith","agent","http","https","layerAgentOptions","layerAgent","makeNodeHttp","nodeRequest","protocol","forkChild","sendBody","waitForResponse","NodeHttpResponse","suspend","end","waitForFinish","globalThis","forEach","value","key","setHeader","fromWeb","run","mapError","EncodeError","fromWritable","callback","resume","fail","onResponse","off","once","onFinish","void","init","statusMessage","toWeb","layerNodeHttpNoAgent","layerNodeHttp"],"sources":["../src/NodeHttpClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NodeHttpClient.js","names":["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,5 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
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";
|
|
@@ -11,12 +23,18 @@ import * as IncomingMessage from "effect/unstable/http/HttpIncomingMessage";
|
|
|
11
23
|
import * as UrlParams from "effect/unstable/http/UrlParams";
|
|
12
24
|
import type * as Http from "node:http";
|
|
13
25
|
/**
|
|
14
|
-
*
|
|
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
|
+
*
|
|
15
30
|
* @category Constructors
|
|
31
|
+
* @since 4.0.0
|
|
16
32
|
*/
|
|
17
33
|
export declare abstract class NodeHttpIncomingMessage<E> extends Inspectable.Class implements IncomingMessage.HttpIncomingMessage<E> {
|
|
18
34
|
/**
|
|
19
|
-
*
|
|
35
|
+
* Marks this value as an HTTP incoming message for runtime guards.
|
|
36
|
+
*
|
|
37
|
+
* @since 4.0.0
|
|
20
38
|
*/
|
|
21
39
|
readonly [IncomingMessage.TypeId]: typeof IncomingMessage.TypeId;
|
|
22
40
|
readonly source: Http.IncomingMessage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHttpIncomingMessage.d.ts","sourceRoot":"","sources":["../src/NodeHttpIncomingMessage.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeHttpIncomingMessage.d.ts","sourceRoot":"","sources":["../src/NodeHttpIncomingMessage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAA;AACvD,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,KAAK,SAAS,MAAM,gCAAgC,CAAA;AAC3D,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AAGtC;;;;;;;GAOG;AACH,8BAAsB,uBAAuB,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,KACnE,YAAW,eAAe,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAEjD;;;;OAIG;IACH,QAAQ,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,eAAe,CAAC,MAAM,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAA;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;gBAGhE,MAAM,EAAE,IAAI,CAAC,eAAe,EAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,EAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAS/C,IAAI,OAAO,oBAEV;IAED,IAAI,aAAa,0BAEhB;IAED,OAAO,CAAC,UAAU,CAAsC;IACxD,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAgBnC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAMxC;IAED,IAAI,UAAU,IAAI,MAAM,CAAC,IAAI,CAE5B;IAED,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAMzD;IAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAKzC;IAED,OAAO,CAAC,iBAAiB,CAA2C;IACpE,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAe/C;CACF"}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
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";
|
|
@@ -9,12 +21,18 @@ import * as IncomingMessage from "effect/unstable/http/HttpIncomingMessage";
|
|
|
9
21
|
import * as UrlParams from "effect/unstable/http/UrlParams";
|
|
10
22
|
import * as NodeStream from "./NodeStream.js";
|
|
11
23
|
/**
|
|
12
|
-
*
|
|
24
|
+
* Base adapter from Node `IncomingMessage` to Effect HTTP incoming messages,
|
|
25
|
+
* exposing headers, remote address, stream access, and cached text, JSON, URL
|
|
26
|
+
* parameter, and array-buffer body decoders with caller-provided error mapping.
|
|
27
|
+
*
|
|
13
28
|
* @category Constructors
|
|
29
|
+
* @since 4.0.0
|
|
14
30
|
*/
|
|
15
31
|
export class NodeHttpIncomingMessage extends Inspectable.Class {
|
|
16
32
|
/**
|
|
17
|
-
*
|
|
33
|
+
* Marks this value as an HTTP incoming message for runtime guards.
|
|
34
|
+
*
|
|
35
|
+
* @since 4.0.0
|
|
18
36
|
*/
|
|
19
37
|
[IncomingMessage.TypeId];
|
|
20
38
|
source;
|
|
@@ -38,7 +56,7 @@ export class NodeHttpIncomingMessage extends Inspectable.Class {
|
|
|
38
56
|
if (this.textEffect) {
|
|
39
57
|
return this.textEffect;
|
|
40
58
|
}
|
|
41
|
-
this.textEffect = Effect.runSync(Effect.cached(Effect.flatMap(IncomingMessage.MaxBodySize
|
|
59
|
+
this.textEffect = Effect.runSync(Effect.cached(Effect.flatMap(IncomingMessage.MaxBodySize, maxBodySize => NodeStream.toString(() => this.source, {
|
|
42
60
|
onError: this.onError,
|
|
43
61
|
maxBytes: maxBodySize
|
|
44
62
|
}))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHttpIncomingMessage.js","names":["Effect","Inspectable","Option","Headers","IncomingMessage","UrlParams","NodeStream","NodeHttpIncomingMessage","Class","TypeId","source","onError","remoteAddressOverride","constructor","headers","fromInput","remoteAddress","fromNullishOr","socket","textEffect","text","runSync","cached","flatMap","MaxBodySize","
|
|
1
|
+
{"version":3,"file":"NodeHttpIncomingMessage.js","names":["Effect","Inspectable","Option","Headers","IncomingMessage","UrlParams","NodeStream","NodeHttpIncomingMessage","Class","TypeId","source","onError","remoteAddressOverride","constructor","headers","fromInput","remoteAddress","fromNullishOr","socket","textEffect","text","runSync","cached","flatMap","MaxBodySize","maxBodySize","toString","maxBytes","arrayBufferEffect","map","_","TextEncoder","encode","buffer","textUnsafe","json","try","JSON","parse","catch","jsonUnsafe","urlParamsBody","URLSearchParams","stream","fromReadable","evaluate","arrayBuffer","withFiber","fiber","toArrayBuffer","getRef","pipe","TextDecoder","decode"],"sources":["../src/NodeHttpIncomingMessage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -3,8 +3,11 @@ import * as EtagImpl from "effect/unstable/http/Etag";
|
|
|
3
3
|
import * as Platform from "effect/unstable/http/HttpPlatform";
|
|
4
4
|
import * as ServerResponse from "effect/unstable/http/HttpServerResponse";
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Creates the Node `HttpPlatform`, serving file responses from Node readable
|
|
7
|
+
* streams and adding MIME type and content-length headers when needed.
|
|
8
|
+
*
|
|
7
9
|
* @category Constructors
|
|
10
|
+
* @since 4.0.0
|
|
8
11
|
*/
|
|
9
12
|
export declare const make: import("effect/Effect").Effect<{
|
|
10
13
|
readonly fileResponse: (path: string, options?: ServerResponse.Options.WithContent & {
|
|
@@ -19,8 +22,11 @@ export declare const make: import("effect/Effect").Effect<{
|
|
|
19
22
|
}) => import("effect/Effect").Effect<ServerResponse.HttpServerResponse>;
|
|
20
23
|
}, never, import("effect/FileSystem").FileSystem | EtagImpl.Generator>;
|
|
21
24
|
/**
|
|
22
|
-
*
|
|
25
|
+
* Provides the Node `HttpPlatform` together with the filesystem and ETag
|
|
26
|
+
* services it needs for file responses.
|
|
27
|
+
*
|
|
23
28
|
* @category Layers
|
|
29
|
+
* @since 4.0.0
|
|
24
30
|
*/
|
|
25
31
|
export declare const layer: Layer.Layer<Platform.HttpPlatform>;
|
|
26
32
|
//# sourceMappingURL=NodeHttpPlatform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHttpPlatform.d.ts","sourceRoot":"","sources":["../src/NodeHttpPlatform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeHttpPlatform.d.ts","sourceRoot":"","sources":["../src/NodeHttpPlatform.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AAErD,OAAO,KAAK,QAAQ,MAAM,mCAAmC,CAAA;AAC7D,OAAO,KAAK,cAAc,MAAM,yCAAyC,CAAA;AAMzE;;;;;;GAMG;AACH,eAAO,MAAM,IAAI;iDAT+B,CAAC;4BAGI,CAAC;0BAChB,CAAC;uBAEhB,CAAC;;uGAKa,CAAA;4BAED,CAAA;0BAC7B,CAAC;uBAEE,CAAC;;sEAqBT,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAIpD,CAAA"}
|