@effect/platform 0.11.0 → 0.11.2
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/Http/Body.d.ts +129 -0
- package/Http/Body.d.ts.map +1 -0
- package/Http/Body.js +70 -0
- package/Http/Body.js.map +1 -0
- package/Http/Client.d.ts +213 -0
- package/Http/Client.d.ts.map +1 -0
- package/Http/Client.js +124 -0
- package/Http/Client.js.map +1 -0
- package/Http/ClientError.d.ts +70 -0
- package/Http/ClientError.d.ts.map +1 -0
- package/Http/ClientError.js +28 -0
- package/Http/ClientError.js.map +1 -0
- package/Http/ClientRequest.d.ts +282 -0
- package/Http/ClientRequest.d.ts.map +1 -0
- package/Http/ClientRequest.js +202 -0
- package/Http/ClientRequest.js.map +1 -0
- package/Http/ClientResponse.d.ts +36 -0
- package/Http/ClientResponse.d.ts.map +1 -0
- package/Http/ClientResponse.js +29 -0
- package/Http/ClientResponse.js.map +1 -0
- package/Http/FormData.d.ts +56 -0
- package/Http/FormData.d.ts.map +1 -0
- package/Http/FormData.js +13 -0
- package/Http/FormData.js.map +1 -0
- package/Http/Headers.d.ts +38 -0
- package/Http/Headers.d.ts.map +1 -0
- package/Http/Headers.js +54 -0
- package/Http/Headers.js.map +1 -0
- package/Http/IncomingMessage.d.ts +37 -0
- package/Http/IncomingMessage.d.ts.map +1 -0
- package/Http/IncomingMessage.js +30 -0
- package/Http/IncomingMessage.js.map +1 -0
- package/Http/Method.d.ts +10 -0
- package/Http/Method.d.ts.map +1 -0
- package/Http/Method.js +12 -0
- package/Http/Method.js.map +1 -0
- package/Http/UrlParams.d.ts +56 -0
- package/Http/UrlParams.d.ts.map +1 -0
- package/Http/UrlParams.js +74 -0
- package/Http/UrlParams.js.map +1 -0
- package/HttpClient.d.ts +32 -0
- package/HttpClient.d.ts.map +1 -0
- package/HttpClient.js +23 -0
- package/HttpClient.js.map +1 -0
- package/internal/http/body.d.ts +2 -0
- package/internal/http/body.d.ts.map +1 -0
- package/internal/http/body.js +101 -0
- package/internal/http/body.js.map +1 -0
- package/internal/http/client.d.ts +3 -0
- package/internal/http/client.d.ts.map +1 -0
- package/internal/http/client.js +147 -0
- package/internal/http/client.js.map +1 -0
- package/internal/http/clientError.d.ts +2 -0
- package/internal/http/clientError.d.ts.map +1 -0
- package/internal/http/clientError.js +24 -0
- package/internal/http/clientError.js.map +1 -0
- package/internal/http/clientRequest.d.ts +2 -0
- package/internal/http/clientRequest.d.ts.map +1 -0
- package/internal/http/clientRequest.js +180 -0
- package/internal/http/clientRequest.js.map +1 -0
- package/internal/http/clientResponse.d.ts +2 -0
- package/internal/http/clientResponse.d.ts.map +1 -0
- package/internal/http/clientResponse.js +101 -0
- package/internal/http/clientResponse.js.map +1 -0
- package/mjs/Http/Body.mjs +52 -0
- package/mjs/Http/Body.mjs.map +1 -0
- package/mjs/Http/Client.mjs +97 -0
- package/mjs/Http/Client.mjs.map +1 -0
- package/mjs/Http/ClientError.mjs +17 -0
- package/mjs/Http/ClientError.mjs.map +1 -0
- package/mjs/Http/ClientRequest.mjs +162 -0
- package/mjs/Http/ClientRequest.mjs.map +1 -0
- package/mjs/Http/ClientResponse.mjs +18 -0
- package/mjs/Http/ClientResponse.mjs.map +1 -0
- package/mjs/Http/FormData.mjs +6 -0
- package/mjs/Http/FormData.mjs.map +1 -0
- package/mjs/Http/Headers.mjs +40 -0
- package/mjs/Http/Headers.mjs.map +1 -0
- package/mjs/Http/IncomingMessage.mjs +19 -0
- package/mjs/Http/IncomingMessage.mjs.map +1 -0
- package/mjs/Http/Method.mjs +5 -0
- package/mjs/Http/Method.mjs.map +1 -0
- package/mjs/Http/UrlParams.mjs +57 -0
- package/mjs/Http/UrlParams.mjs.map +1 -0
- package/mjs/HttpClient.mjs +18 -0
- package/mjs/HttpClient.mjs.map +1 -0
- package/mjs/internal/http/body.mjs +83 -0
- package/mjs/internal/http/body.mjs.map +1 -0
- package/mjs/internal/http/client.mjs +120 -0
- package/mjs/internal/http/client.mjs.map +1 -0
- package/mjs/internal/http/clientError.mjs +13 -0
- package/mjs/internal/http/clientError.mjs.map +1 -0
- package/mjs/internal/http/clientRequest.mjs +138 -0
- package/mjs/internal/http/clientRequest.mjs.map +1 -0
- package/mjs/internal/http/clientResponse.mjs +91 -0
- package/mjs/internal/http/clientResponse.mjs.map +1 -0
- package/package.json +2 -1
- package/src/Http/Body.ts +148 -0
- package/src/Http/Client.ts +280 -0
- package/src/Http/ClientError.ts +80 -0
- package/src/Http/ClientRequest.ts +320 -0
- package/src/Http/ClientResponse.ts +42 -0
- package/src/Http/FormData.ts +61 -0
- package/src/Http/Headers.ts +69 -0
- package/src/Http/IncomingMessage.ts +45 -0
- package/src/Http/Method.ts +17 -0
- package/src/Http/UrlParams.ts +106 -0
- package/src/HttpClient.ts +32 -0
- package/src/internal/http/body.ts +113 -0
- package/src/internal/http/client.ts +437 -0
- package/src/internal/http/clientError.ts +20 -0
- package/src/internal/http/clientRequest.ts +371 -0
- package/src/internal/http/clientResponse.ts +114 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import * as Chunk from "@effect/data/Chunk";
|
|
2
|
+
import * as Context from "@effect/data/Context";
|
|
3
|
+
import { dual } from "@effect/data/Function";
|
|
4
|
+
import * as Effect from "@effect/io/Effect";
|
|
5
|
+
import * as Layer from "@effect/io/Layer";
|
|
6
|
+
import * as Method from "@effect/platform/Http/Method";
|
|
7
|
+
import * as internalBody from "@effect/platform/internal/http/body";
|
|
8
|
+
import * as internalError from "@effect/platform/internal/http/clientError";
|
|
9
|
+
import * as internalRequest from "@effect/platform/internal/http/clientRequest";
|
|
10
|
+
import * as internalResponse from "@effect/platform/internal/http/clientResponse";
|
|
11
|
+
import * as Schema from "@effect/schema/Schema";
|
|
12
|
+
import * as Stream from "@effect/stream/Stream";
|
|
13
|
+
/** @internal */
|
|
14
|
+
export const tag = /*#__PURE__*/Context.Tag("@effect/platform/Http/Client");
|
|
15
|
+
const baseUrl = () => {
|
|
16
|
+
if ("location" in globalThis) {
|
|
17
|
+
return location.origin + location.pathname;
|
|
18
|
+
}
|
|
19
|
+
return undefined;
|
|
20
|
+
};
|
|
21
|
+
/** @internal */
|
|
22
|
+
export const fetch = (options = {}) => request => Effect.flatMap(Effect.try({
|
|
23
|
+
try: () => new URL(request.url, baseUrl()),
|
|
24
|
+
catch: _ => internalError.requestError({
|
|
25
|
+
request,
|
|
26
|
+
reason: "Encode",
|
|
27
|
+
error: _
|
|
28
|
+
})
|
|
29
|
+
}), url => Effect.suspend(() => {
|
|
30
|
+
Chunk.forEach(request.urlParams, ([key, value]) => {
|
|
31
|
+
if (value === undefined) return;
|
|
32
|
+
url.searchParams.append(key, value);
|
|
33
|
+
});
|
|
34
|
+
const headers = new Headers([...request.headers]);
|
|
35
|
+
const send = body => Effect.map(Effect.tryPromise({
|
|
36
|
+
try: signal => globalThis.fetch(url, {
|
|
37
|
+
...options,
|
|
38
|
+
method: request.method,
|
|
39
|
+
headers,
|
|
40
|
+
body,
|
|
41
|
+
signal
|
|
42
|
+
}),
|
|
43
|
+
catch: _ => internalError.requestError({
|
|
44
|
+
request,
|
|
45
|
+
reason: "Transport",
|
|
46
|
+
error: _
|
|
47
|
+
})
|
|
48
|
+
}), _ => internalResponse.fromWeb(request, _));
|
|
49
|
+
if (Method.hasBody(request.method)) {
|
|
50
|
+
return request.body._tag === "BytesEffect" ? Effect.flatMap(Effect.mapError(request.body.body, error => internalError.requestError({
|
|
51
|
+
reason: "Encode",
|
|
52
|
+
request,
|
|
53
|
+
error
|
|
54
|
+
})), body => send(body)) : send(convertBody(request.body));
|
|
55
|
+
}
|
|
56
|
+
return send(undefined);
|
|
57
|
+
}));
|
|
58
|
+
const convertBody = body => {
|
|
59
|
+
switch (body._tag) {
|
|
60
|
+
case "Empty":
|
|
61
|
+
return undefined;
|
|
62
|
+
case "Raw":
|
|
63
|
+
return body.body;
|
|
64
|
+
case "Bytes":
|
|
65
|
+
return body.body;
|
|
66
|
+
case "FormData":
|
|
67
|
+
return body.formData;
|
|
68
|
+
case "Stream":
|
|
69
|
+
return Stream.toReadableStream(body.stream);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
export const fetchOk = (options = {}) => filterStatusOk(fetch(options));
|
|
73
|
+
/** @internal */
|
|
74
|
+
export const fetchLayer = /*#__PURE__*/Layer.succeed(tag, /*#__PURE__*/fetch());
|
|
75
|
+
/** @internal */
|
|
76
|
+
export const catchTag = /*#__PURE__*/dual(3, (self, tag, f) => request => Effect.catchTag(self(request), tag, f));
|
|
77
|
+
/** @internal */
|
|
78
|
+
export const catchTags = /*#__PURE__*/dual(2, (self, cases) => request => Effect.catchTags(self(request), cases));
|
|
79
|
+
/** @internal */
|
|
80
|
+
export const catchAll = /*#__PURE__*/dual(2, (self, f) => request => Effect.catchAll(self(request), f));
|
|
81
|
+
/** @internal */
|
|
82
|
+
export const filterOrElse = /*#__PURE__*/dual(3, (self, f, orElse) => request => Effect.filterOrElse(self(request), f, orElse));
|
|
83
|
+
/** @internal */
|
|
84
|
+
export const filterOrFail = /*#__PURE__*/dual(3, (self, f, orFailWith) => request => Effect.filterOrFail(self(request), f, orFailWith));
|
|
85
|
+
/** @internal */
|
|
86
|
+
export const filterStatus = /*#__PURE__*/dual(2, (self, f) => request => Effect.filterOrFail(self(request), response => f(response.status), response => internalError.responseError({
|
|
87
|
+
request,
|
|
88
|
+
response,
|
|
89
|
+
reason: "StatusCode",
|
|
90
|
+
error: "non 2xx status code"
|
|
91
|
+
})));
|
|
92
|
+
/** @internal */
|
|
93
|
+
export const filterStatusOk = /*#__PURE__*/filterStatus(status => status >= 200 && status < 300);
|
|
94
|
+
/** @internal */
|
|
95
|
+
export const map = /*#__PURE__*/dual(2, (self, f) => request => Effect.map(self(request), f));
|
|
96
|
+
/** @internal */
|
|
97
|
+
export const mapEffect = /*#__PURE__*/dual(2, (self, f) => request => Effect.flatMap(self(request), f));
|
|
98
|
+
/** @internal */
|
|
99
|
+
export const mapRequest = /*#__PURE__*/dual(2, (self, f) => request => self(f(request)));
|
|
100
|
+
/** @internal */
|
|
101
|
+
export const mapRequestEffect = /*#__PURE__*/dual(2, (self, f) => request => Effect.flatMap(f(request), self));
|
|
102
|
+
/** @internal */
|
|
103
|
+
export const retry = /*#__PURE__*/dual(2, (self, policy) => request => Effect.retry(self(request), policy));
|
|
104
|
+
/** @internal */
|
|
105
|
+
export const schemaFunction = /*#__PURE__*/dual(2, (self, schema) => {
|
|
106
|
+
const encode = Schema.encode(schema);
|
|
107
|
+
return request => a => Effect.flatMap(Effect.tryMap(encode(a), {
|
|
108
|
+
try: body => new TextEncoder().encode(JSON.stringify(body)),
|
|
109
|
+
catch: error => internalError.requestError({
|
|
110
|
+
request,
|
|
111
|
+
reason: "Encode",
|
|
112
|
+
error
|
|
113
|
+
})
|
|
114
|
+
}), body => self(internalRequest.setBody(request, internalBody.bytes(body, "application/json"))));
|
|
115
|
+
});
|
|
116
|
+
/** @internal */
|
|
117
|
+
export const tap = /*#__PURE__*/dual(2, (self, f) => request => Effect.tap(self(request), f));
|
|
118
|
+
/** @internal */
|
|
119
|
+
export const tapRequest = /*#__PURE__*/dual(2, (self, f) => request => Effect.zipRight(f(request), self(request)));
|
|
120
|
+
//# sourceMappingURL=client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.mjs","names":["Chunk","Context","dual","Effect","Layer","Method","internalBody","internalError","internalRequest","internalResponse","Schema","Stream","tag","Tag","baseUrl","globalThis","location","origin","pathname","undefined","fetch","options","request","flatMap","try","URL","url","catch","_","requestError","reason","error","suspend","forEach","urlParams","key","value","searchParams","append","headers","Headers","send","body","map","tryPromise","signal","method","fromWeb","hasBody","_tag","mapError","convertBody","formData","toReadableStream","stream","fetchOk","filterStatusOk","fetchLayer","succeed","catchTag","self","f","catchTags","cases","catchAll","filterOrElse","orElse","filterOrFail","orFailWith","filterStatus","response","status","responseError","mapEffect","mapRequest","mapRequestEffect","retry","policy","schemaFunction","schema","encode","a","tryMap","TextEncoder","JSON","stringify","setBody","bytes","tap","tapRequest","zipRight"],"sources":["../../../src/internal/http/client.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as Data from "@effect/data/Data";
|
|
2
|
+
/** @internal */
|
|
3
|
+
export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Error");
|
|
4
|
+
const make = tag => props => Data.struct({
|
|
5
|
+
[TypeId]: TypeId,
|
|
6
|
+
_tag: tag,
|
|
7
|
+
...props
|
|
8
|
+
});
|
|
9
|
+
/** @internal */
|
|
10
|
+
export const requestError = /*#__PURE__*/make("RequestError");
|
|
11
|
+
/** @internal */
|
|
12
|
+
export const responseError = /*#__PURE__*/make("ResponseError");
|
|
13
|
+
//# sourceMappingURL=clientError.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientError.mjs","names":["Data","TypeId","Symbol","for","make","tag","props","struct","_tag","requestError","responseError"],"sources":["../../../src/internal/http/clientError.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,IAAI,MAAM,mBAAmB;AAGzC;AACA,OAAO,MAAMC,MAAM,gBAAiBC,MAAM,CAACC,GAAG,CAC5C,6BAA6B,CACd;AAEjB,MAAMC,IAAI,GAAqCC,GAAc,IAAMC,KAA8C,IAC/GN,IAAI,CAACO,MAAM,CAAC;EACV,CAACN,MAAM,GAAGA,MAAM;EAChBO,IAAI,EAAEH,GAAG;EACT,GAAGC;CACC,CAAC;AAET;AACA,OAAO,MAAMG,YAAY,gBAAGL,IAAI,CAAqB,cAAc,CAAC;AAEpE;AACA,OAAO,MAAMM,aAAa,gBAAGN,IAAI,CAAsB,eAAe,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
import { dual } from "@effect/data/Function";
|
|
3
|
+
import { pipeArguments } from "@effect/data/Pipeable";
|
|
4
|
+
import * as Headers from "@effect/platform/Http/Headers";
|
|
5
|
+
import * as UrlParams from "@effect/platform/Http/UrlParams";
|
|
6
|
+
import * as internalBody from "@effect/platform/internal/http/body";
|
|
7
|
+
/** @internal */
|
|
8
|
+
export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ClientRequest");
|
|
9
|
+
class ClientRequestImpl {
|
|
10
|
+
constructor(method, url, urlParams, headers, body) {
|
|
11
|
+
this.method = method;
|
|
12
|
+
this.url = url;
|
|
13
|
+
this.urlParams = urlParams;
|
|
14
|
+
this.headers = headers;
|
|
15
|
+
this.body = body;
|
|
16
|
+
this[_a] = TypeId;
|
|
17
|
+
}
|
|
18
|
+
pipe() {
|
|
19
|
+
return pipeArguments(this, arguments);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
_a = TypeId;
|
|
23
|
+
/** @internal */
|
|
24
|
+
export const isClientRequest = u => typeof u === "object" && u !== null && TypeId in u;
|
|
25
|
+
/** @internal */
|
|
26
|
+
export const empty = /*#__PURE__*/new ClientRequestImpl("GET", "", UrlParams.empty, Headers.empty, internalBody.empty);
|
|
27
|
+
/** @internal */
|
|
28
|
+
export const make = method => (url, options) => modify(empty, {
|
|
29
|
+
method,
|
|
30
|
+
url,
|
|
31
|
+
...(options ?? {})
|
|
32
|
+
});
|
|
33
|
+
/** @internal */
|
|
34
|
+
export const get = /*#__PURE__*/make("GET");
|
|
35
|
+
/** @internal */
|
|
36
|
+
export const post = /*#__PURE__*/make("POST");
|
|
37
|
+
/** @internal */
|
|
38
|
+
export const put = /*#__PURE__*/make("PUT");
|
|
39
|
+
/** @internal */
|
|
40
|
+
export const patch = /*#__PURE__*/make("PATCH");
|
|
41
|
+
/** @internal */
|
|
42
|
+
export const del = /*#__PURE__*/make("DELETE");
|
|
43
|
+
/** @internal */
|
|
44
|
+
export const head = /*#__PURE__*/make("HEAD");
|
|
45
|
+
/** @internal */
|
|
46
|
+
export const options = /*#__PURE__*/make("OPTIONS");
|
|
47
|
+
/** @internal */
|
|
48
|
+
export const modify = /*#__PURE__*/dual(2, (self, options) => {
|
|
49
|
+
let result = self;
|
|
50
|
+
if (options.method) {
|
|
51
|
+
result = setMethod(result, options.method);
|
|
52
|
+
}
|
|
53
|
+
if (options.url) {
|
|
54
|
+
result = setUrl(result, options.url);
|
|
55
|
+
}
|
|
56
|
+
if (options.headers) {
|
|
57
|
+
result = setHeaders(result, options.headers);
|
|
58
|
+
}
|
|
59
|
+
if (options.urlParams) {
|
|
60
|
+
result = setUrlParams(result, options.urlParams);
|
|
61
|
+
}
|
|
62
|
+
if (options.body) {
|
|
63
|
+
result = setBody(result, options.body);
|
|
64
|
+
}
|
|
65
|
+
if (options.accept) {
|
|
66
|
+
result = accept(result, options.accept);
|
|
67
|
+
}
|
|
68
|
+
if (options.acceptJson) {
|
|
69
|
+
result = acceptJson(result);
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
});
|
|
73
|
+
/** @internal */
|
|
74
|
+
export const setHeader = /*#__PURE__*/dual(3, (self, key, value) => new ClientRequestImpl(self.method, self.url, self.urlParams, Headers.set(self.headers, key, value), self.body));
|
|
75
|
+
/** @internal */
|
|
76
|
+
export const setHeaders = /*#__PURE__*/dual(2, (self, input) => new ClientRequestImpl(self.method, self.url, self.urlParams, Headers.setAll(self.headers, input), self.body));
|
|
77
|
+
/** @internal */
|
|
78
|
+
export const basicAuth = /*#__PURE__*/dual(3, (self, username, password) => setHeader(self, "Authorization", `Basic ${btoa(`${username}:${password}`)}`));
|
|
79
|
+
/** @internal */
|
|
80
|
+
export const accept = /*#__PURE__*/dual(2, (self, mediaType) => setHeader(self, "Accept", mediaType));
|
|
81
|
+
/** @internal */
|
|
82
|
+
export const acceptJson = /*#__PURE__*/accept("application/json");
|
|
83
|
+
/** @internal */
|
|
84
|
+
export const setMethod = /*#__PURE__*/dual(2, (self, method) => new ClientRequestImpl(method, self.url, self.urlParams, self.headers, self.body));
|
|
85
|
+
/** @internal */
|
|
86
|
+
export const setUrl = /*#__PURE__*/dual(2, (self, url) => new ClientRequestImpl(self.method, url, self.urlParams, self.headers, self.body));
|
|
87
|
+
/** @internal */
|
|
88
|
+
export const appendUrl = /*#__PURE__*/dual(2, (self, url) => new ClientRequestImpl(self.method, self.url + url, self.urlParams, self.headers, self.body));
|
|
89
|
+
/** @internal */
|
|
90
|
+
export const prependUrl = /*#__PURE__*/dual(2, (self, url) => new ClientRequestImpl(self.method, url + self.url, self.urlParams, self.headers, self.body));
|
|
91
|
+
/** @internal */
|
|
92
|
+
export const updateUrl = /*#__PURE__*/dual(2, (self, f) => new ClientRequestImpl(self.method, f(self.url), self.urlParams, self.headers, self.body));
|
|
93
|
+
/** @internal */
|
|
94
|
+
export const appendUrlParam = /*#__PURE__*/dual(3, (self, key, value) => new ClientRequestImpl(self.method, self.url, UrlParams.append(self.urlParams, key, value), self.headers, self.body));
|
|
95
|
+
/** @internal */
|
|
96
|
+
export const appendUrlParams = /*#__PURE__*/dual(2, (self, input) => new ClientRequestImpl(self.method, self.url, UrlParams.appendAll(self.urlParams, input), self.headers, self.body));
|
|
97
|
+
/** @internal */
|
|
98
|
+
export const setUrlParam = /*#__PURE__*/dual(3, (self, key, value) => new ClientRequestImpl(self.method, self.url, UrlParams.set(self.urlParams, key, value), self.headers, self.body));
|
|
99
|
+
/** @internal */
|
|
100
|
+
export const setUrlParams = /*#__PURE__*/dual(2, (self, input) => new ClientRequestImpl(self.method, self.url, UrlParams.setAll(self.urlParams, input), self.headers, self.body));
|
|
101
|
+
/** @internal */
|
|
102
|
+
export const setBody = /*#__PURE__*/dual(2, (self, body) => {
|
|
103
|
+
let headers = self.headers;
|
|
104
|
+
if (body._tag === "Empty") {
|
|
105
|
+
headers = Headers.remove(Headers.remove(headers, "Content-Type"), "Content-length");
|
|
106
|
+
} else {
|
|
107
|
+
const contentType = body.contentType;
|
|
108
|
+
if (contentType) {
|
|
109
|
+
headers = Headers.set(headers, "content-type", contentType);
|
|
110
|
+
}
|
|
111
|
+
const contentLength = body.contentLength;
|
|
112
|
+
if (contentLength) {
|
|
113
|
+
headers = Headers.set(headers, "content-length", contentLength.toString());
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return new ClientRequestImpl(self.method, self.url, self.urlParams, headers, body);
|
|
117
|
+
});
|
|
118
|
+
/** @internal */
|
|
119
|
+
export const binaryBody = /*#__PURE__*/dual(args => isClientRequest(args[0]), (self, body, contentType = "application/octet-stream") => setBody(self, internalBody.bytes(body, contentType)));
|
|
120
|
+
/** @internal */
|
|
121
|
+
export const textBody = /*#__PURE__*/dual(args => isClientRequest(args[0]), (self, body, contentType = "text/plain") => setBody(self, internalBody.text(body, contentType)));
|
|
122
|
+
/** @internal */
|
|
123
|
+
export const jsonBody = /*#__PURE__*/dual(2, (self, body) => setBody(self, internalBody.json(body)));
|
|
124
|
+
/** @internal */
|
|
125
|
+
export const schemaBody = schema => {
|
|
126
|
+
const encode = internalBody.jsonSchema(schema);
|
|
127
|
+
return dual(2, (self, body) => setBody(self, encode(body)));
|
|
128
|
+
};
|
|
129
|
+
/** @internal */
|
|
130
|
+
export const urlParamsBody = /*#__PURE__*/dual(2, (self, body) => setBody(self, internalBody.text(UrlParams.toString(UrlParams.fromInput(body)), "application/x-www-form-urlencoded")));
|
|
131
|
+
/** @internal */
|
|
132
|
+
export const formDataBody = /*#__PURE__*/dual(2, (self, body) => setBody(self, internalBody.formData(body)));
|
|
133
|
+
/** @internal */
|
|
134
|
+
export const streamBody = /*#__PURE__*/dual(args => isClientRequest(args[0]), (self, body, {
|
|
135
|
+
contentLength,
|
|
136
|
+
contentType = "application/octet-stream"
|
|
137
|
+
} = {}) => setBody(self, internalBody.stream(body, contentType, contentLength)));
|
|
138
|
+
//# sourceMappingURL=clientRequest.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientRequest.mjs","names":["dual","pipeArguments","Headers","UrlParams","internalBody","TypeId","Symbol","for","ClientRequestImpl","constructor","method","url","urlParams","headers","body","_a","pipe","arguments","isClientRequest","u","empty","make","options","modify","get","post","put","patch","del","head","self","result","setMethod","setUrl","setHeaders","setUrlParams","setBody","accept","acceptJson","setHeader","key","value","set","input","setAll","basicAuth","username","password","btoa","mediaType","appendUrl","prependUrl","updateUrl","f","appendUrlParam","append","appendUrlParams","appendAll","setUrlParam","_tag","remove","contentType","contentLength","toString","binaryBody","args","bytes","textBody","text","jsonBody","json","schemaBody","schema","encode","jsonSchema","urlParamsBody","fromInput","formDataBody","formData","streamBody","stream"],"sources":["../../../src/internal/http/clientRequest.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
var _a, _b;
|
|
2
|
+
import * as Effect from "@effect/io/Effect";
|
|
3
|
+
import * as Headers from "@effect/platform/Http/Headers";
|
|
4
|
+
import * as IncomingMessage from "@effect/platform/Http/IncomingMessage";
|
|
5
|
+
import * as internalError from "@effect/platform/internal/http/clientError";
|
|
6
|
+
import * as Stream from "@effect/stream/Stream";
|
|
7
|
+
/** @internal */
|
|
8
|
+
export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ClientResponse");
|
|
9
|
+
/** @internal */
|
|
10
|
+
export const fromWeb = (request, source) => new ClientResponseImpl(request, source);
|
|
11
|
+
class ClientResponseImpl {
|
|
12
|
+
constructor(request, source) {
|
|
13
|
+
this.request = request;
|
|
14
|
+
this.source = source;
|
|
15
|
+
this[_a] = IncomingMessage.TypeId;
|
|
16
|
+
this[_b] = TypeId;
|
|
17
|
+
}
|
|
18
|
+
get status() {
|
|
19
|
+
return this.source.status;
|
|
20
|
+
}
|
|
21
|
+
get headers() {
|
|
22
|
+
return Headers.fromInput(this.source.headers);
|
|
23
|
+
}
|
|
24
|
+
get stream() {
|
|
25
|
+
return this.source.body ? Stream.fromReadableStream(() => this.source.body, _ => internalError.responseError({
|
|
26
|
+
request: this.request,
|
|
27
|
+
response: this,
|
|
28
|
+
reason: "Decode",
|
|
29
|
+
error: _
|
|
30
|
+
})) : Stream.fail(internalError.responseError({
|
|
31
|
+
request: this.request,
|
|
32
|
+
response: this,
|
|
33
|
+
reason: "EmptyBody",
|
|
34
|
+
error: "can not create stream from empty body"
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
get json() {
|
|
38
|
+
return Effect.tryPromise({
|
|
39
|
+
try: () => this.source.json(),
|
|
40
|
+
catch: _ => internalError.responseError({
|
|
41
|
+
request: this.request,
|
|
42
|
+
response: this,
|
|
43
|
+
reason: "Decode",
|
|
44
|
+
error: _
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
get text() {
|
|
49
|
+
return Effect.tryPromise({
|
|
50
|
+
try: () => this.source.text(),
|
|
51
|
+
catch: _ => internalError.responseError({
|
|
52
|
+
request: this.request,
|
|
53
|
+
response: this,
|
|
54
|
+
reason: "Decode",
|
|
55
|
+
error: _
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
get formData() {
|
|
60
|
+
return Effect.tryPromise({
|
|
61
|
+
try: () => this.source.formData(),
|
|
62
|
+
catch: _ => internalError.responseError({
|
|
63
|
+
request: this.request,
|
|
64
|
+
response: this,
|
|
65
|
+
reason: "Decode",
|
|
66
|
+
error: _
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
get formDataStream() {
|
|
71
|
+
return Stream.fail(internalError.responseError({
|
|
72
|
+
request: this.request,
|
|
73
|
+
response: this,
|
|
74
|
+
reason: "Decode",
|
|
75
|
+
error: "not implemented"
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
get blob() {
|
|
79
|
+
return Effect.tryPromise({
|
|
80
|
+
try: () => this.source.blob(),
|
|
81
|
+
catch: _ => internalError.responseError({
|
|
82
|
+
request: this.request,
|
|
83
|
+
response: this,
|
|
84
|
+
reason: "Decode",
|
|
85
|
+
error: _
|
|
86
|
+
})
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
_a = IncomingMessage.TypeId, _b = TypeId;
|
|
91
|
+
//# sourceMappingURL=clientResponse.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientResponse.mjs","names":["Effect","Headers","IncomingMessage","internalError","Stream","TypeId","Symbol","for","fromWeb","request","source","ClientResponseImpl","constructor","_a","_b","status","headers","fromInput","stream","body","fromReadableStream","_","responseError","response","reason","error","fail","json","tryPromise","try","catch","text","formData","formDataStream","blob"],"sources":["../../../src/internal/http/clientResponse.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.2",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"peerDependencies": {
|
|
31
31
|
"@effect/data": "^0.17.1",
|
|
32
32
|
"@effect/io": "^0.38.0",
|
|
33
|
+
"@effect/schema": "^0.33.0",
|
|
33
34
|
"@effect/stream": "^0.34.0"
|
|
34
35
|
}
|
|
35
36
|
}
|
package/src/Http/Body.ts
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import type * as Effect from "@effect/io/Effect"
|
|
5
|
+
import * as internal from "@effect/platform/internal/http/body"
|
|
6
|
+
import type * as Schema from "@effect/schema/Schema"
|
|
7
|
+
import type * as Stream_ from "@effect/stream/Stream"
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
* @category type ids
|
|
12
|
+
*/
|
|
13
|
+
export const TypeId: unique symbol = internal.TypeId
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @since 1.0.0
|
|
17
|
+
* @category type ids
|
|
18
|
+
*/
|
|
19
|
+
export type TypeId = typeof TypeId
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @since 1.0.0
|
|
23
|
+
* @category models
|
|
24
|
+
*/
|
|
25
|
+
export type Body = Empty | Raw | Bytes | BytesEffect | FormData | Stream
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
*/
|
|
30
|
+
export namespace Body {
|
|
31
|
+
/**
|
|
32
|
+
* @since 1.0.0
|
|
33
|
+
* @category models
|
|
34
|
+
*/
|
|
35
|
+
export interface Proto {
|
|
36
|
+
readonly [TypeId]: TypeId
|
|
37
|
+
readonly _tag: string
|
|
38
|
+
readonly contentType?: string
|
|
39
|
+
readonly contentLength?: number
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @since 1.0.0
|
|
45
|
+
* @category models
|
|
46
|
+
*/
|
|
47
|
+
export interface Empty extends Body.Proto {
|
|
48
|
+
readonly _tag: "Empty"
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @since 1.0.0
|
|
53
|
+
* @category constructors
|
|
54
|
+
*/
|
|
55
|
+
export const empty: Empty = internal.empty
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @since 1.0.0
|
|
59
|
+
* @category models
|
|
60
|
+
*/
|
|
61
|
+
export interface Raw extends Body.Proto {
|
|
62
|
+
readonly _tag: "Raw"
|
|
63
|
+
readonly body: unknown
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @since 1.0.0
|
|
68
|
+
* @category constructors
|
|
69
|
+
*/
|
|
70
|
+
export const raw: (body: unknown) => Raw = internal.raw
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* @since 1.0.0
|
|
74
|
+
* @category models
|
|
75
|
+
*/
|
|
76
|
+
export interface Bytes extends Body.Proto {
|
|
77
|
+
readonly _tag: "Bytes"
|
|
78
|
+
readonly body: Uint8Array
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* @since 1.0.0
|
|
83
|
+
* @category constructors
|
|
84
|
+
*/
|
|
85
|
+
export const bytes: (body: Uint8Array) => Bytes = internal.bytes
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @since 1.0.0
|
|
89
|
+
* @category constructors
|
|
90
|
+
*/
|
|
91
|
+
export const text: (body: string, contentType?: string) => Bytes = internal.text
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* @since 1.0.0
|
|
95
|
+
* @category models
|
|
96
|
+
*/
|
|
97
|
+
export interface BytesEffect extends Body.Proto {
|
|
98
|
+
readonly _tag: "BytesEffect"
|
|
99
|
+
readonly body: Effect.Effect<never, unknown, Uint8Array>
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @since 1.0.0
|
|
104
|
+
* @category constructors
|
|
105
|
+
*/
|
|
106
|
+
export const bytesEffect: (body: Effect.Effect<never, unknown, Uint8Array>) => BytesEffect = internal.bytesEffect
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* @since 1.0.0
|
|
110
|
+
* @category constructors
|
|
111
|
+
*/
|
|
112
|
+
export const json: (body: unknown) => BytesEffect = internal.json
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* @since 1.0.0
|
|
116
|
+
* @category constructors
|
|
117
|
+
*/
|
|
118
|
+
export const jsonSchema: <I, A>(schema: Schema.Schema<I, A>) => (body: A) => BytesEffect = internal.jsonSchema
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* @since 1.0.0
|
|
122
|
+
* @category models
|
|
123
|
+
*/
|
|
124
|
+
export interface FormData extends Body.Proto {
|
|
125
|
+
readonly _tag: "FormData"
|
|
126
|
+
readonly formData: globalThis.FormData
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* @since 1.0.0
|
|
131
|
+
* @category constructors
|
|
132
|
+
*/
|
|
133
|
+
export const formData: (body: globalThis.FormData) => FormData = internal.formData
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* @since 1.0.0
|
|
137
|
+
* @category models
|
|
138
|
+
*/
|
|
139
|
+
export interface Stream extends Body.Proto {
|
|
140
|
+
readonly _tag: "Stream"
|
|
141
|
+
readonly stream: Stream_.Stream<never, unknown, Uint8Array>
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* @since 1.0.0
|
|
146
|
+
* @category constructors
|
|
147
|
+
*/
|
|
148
|
+
export const stream: (body: Stream_.Stream<never, unknown, Uint8Array>) => Stream = internal.stream
|