@effect/platform-browser 0.29.7 → 0.30.0
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/cjs/BrowserHttpClient.js.map +1 -1
- package/dist/cjs/internal/http/client.js +26 -17
- package/dist/cjs/internal/http/client.js.map +1 -1
- package/dist/dts/BrowserHttpClient.d.ts +2 -1
- package/dist/dts/BrowserHttpClient.d.ts.map +1 -1
- package/dist/esm/BrowserHttpClient.js.map +1 -1
- package/dist/esm/internal/http/client.js +26 -17
- package/dist/esm/internal/http/client.js.map +1 -1
- package/package.json +3 -3
- package/src/BrowserHttpClient.ts +2 -1
- package/src/internal/http/client.ts +68 -50
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserHttpClient.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","xmlHttpRequest","exports","makeXMLHttpRequest","layerXMLHttpRequest","currentXMLHttpRequest"],"sources":["../../src/BrowserHttpClient.ts"],"sourcesContent":[null],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"BrowserHttpClient.js","names":["internal","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","xmlHttpRequest","exports","makeXMLHttpRequest","layerXMLHttpRequest","currentXMLHttpRequest"],"sources":["../../src/BrowserHttpClient.ts"],"sourcesContent":[null],"mappings":";;;;;;AAOA,IAAAA,QAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAqD,SAAAC,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA;IAAA,IAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAErD;;;;AAIO,MAAMY,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAA0BxB,QAAQ,CAAC0B,kBAAkB;AAEhF;;;;AAIO,MAAMC,mBAAmB,GAAAF,OAAA,CAAAE,mBAAA,GAAqD3B,QAAQ,CAAC2B,mBAAmB;AAEjH;;;;AAIO,MAAMC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,GAA+C5B,QAAQ,CAAC4B,qBAAqB"}
|
|
@@ -44,14 +44,16 @@ function _interopRequireWildcard(e, r) {
|
|
|
44
44
|
return n.default = e, t && t.set(e, n), n;
|
|
45
45
|
}
|
|
46
46
|
/** @internal */
|
|
47
|
-
const currentXMLHttpRequest = exports.currentXMLHttpRequest = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect/platform-browser/BrowserHttpClient/currentXMLHttpRequest", () => FiberRef.unsafeMake(
|
|
47
|
+
const currentXMLHttpRequest = exports.currentXMLHttpRequest = /*#__PURE__*/(0, _GlobalValue.globalValue)("@effect/platform-browser/BrowserHttpClient/currentXMLHttpRequest", () => FiberRef.unsafeMake(() => new XMLHttpRequest()));
|
|
48
48
|
/** @internal */
|
|
49
49
|
const makeXMLHttpRequest = exports.makeXMLHttpRequest = /*#__PURE__*/Client.makeDefault(request => UrlParams.makeUrl(request.url, request.urlParams, _ => Error.RequestError({
|
|
50
50
|
request,
|
|
51
51
|
reason: "InvalidUrl",
|
|
52
52
|
error: _
|
|
53
|
-
})).pipe(Effect.zip(FiberRef.get(currentXMLHttpRequest)
|
|
54
|
-
|
|
53
|
+
})).pipe(Effect.zip(Effect.flatMap(FiberRef.get(currentXMLHttpRequest), makeXhr => Effect.acquireRelease(Effect.sync(() => makeXhr()), xhr => Effect.sync(() => {
|
|
54
|
+
xhr.abort();
|
|
55
|
+
xhr.onreadystatechange = null;
|
|
56
|
+
})))), Effect.flatMap(([url, xhr]) => {
|
|
55
57
|
xhr.open(request.method, url.toString(), true);
|
|
56
58
|
xhr.responseType = "text";
|
|
57
59
|
Object.entries(request.headers).forEach(([k, v]) => {
|
|
@@ -64,10 +66,17 @@ const makeXMLHttpRequest = exports.makeXMLHttpRequest = /*#__PURE__*/Client.make
|
|
|
64
66
|
}
|
|
65
67
|
};
|
|
66
68
|
xhr.onreadystatechange = onChange;
|
|
69
|
+
xhr.onerror = _event => {
|
|
70
|
+
resume(Effect.fail(Error.RequestError({
|
|
71
|
+
request,
|
|
72
|
+
reason: "Transport",
|
|
73
|
+
error: xhr.statusText
|
|
74
|
+
})));
|
|
75
|
+
};
|
|
67
76
|
onChange();
|
|
68
|
-
})), Effect.as(new ClientResponseImpl(request, xhr))
|
|
77
|
+
})), Effect.as(new ClientResponseImpl(request, xhr)));
|
|
69
78
|
})));
|
|
70
|
-
const sendBody = (xhr, request) =>
|
|
79
|
+
const sendBody = (xhr, request) => {
|
|
71
80
|
const body = request.body;
|
|
72
81
|
switch (body._tag) {
|
|
73
82
|
case "Empty":
|
|
@@ -93,7 +102,7 @@ const sendBody = (xhr, request) => Effect.suspend(() => {
|
|
|
93
102
|
onSuccess: body => Effect.sync(() => xhr.send(body))
|
|
94
103
|
});
|
|
95
104
|
}
|
|
96
|
-
}
|
|
105
|
+
};
|
|
97
106
|
const encoder = /*#__PURE__*/new TextEncoder();
|
|
98
107
|
/** @internal */
|
|
99
108
|
class IncomingMessageImpl {
|
|
@@ -129,16 +138,16 @@ class IncomingMessageImpl {
|
|
|
129
138
|
}
|
|
130
139
|
return this._textEffect = Effect.async(resume => {
|
|
131
140
|
if (this.source.readyState === 4) {
|
|
132
|
-
resume(Effect.succeed(this.source.
|
|
141
|
+
resume(Effect.succeed(this.source.responseText));
|
|
133
142
|
return;
|
|
134
143
|
}
|
|
135
144
|
const onReadyStateChange = () => {
|
|
136
145
|
if (this.source.readyState === 4) {
|
|
137
|
-
resume(Effect.succeed(this.source.
|
|
146
|
+
resume(Effect.succeed(this.source.responseText));
|
|
138
147
|
}
|
|
139
148
|
};
|
|
140
|
-
const onError =
|
|
141
|
-
resume(Effect.fail(this.onError(
|
|
149
|
+
const onError = () => {
|
|
150
|
+
resume(Effect.fail(this.onError(this.source.statusText)));
|
|
142
151
|
};
|
|
143
152
|
this.source.addEventListener("readystatechange", onReadyStateChange);
|
|
144
153
|
this.source.addEventListener("error", onError);
|
|
@@ -162,20 +171,20 @@ class IncomingMessageImpl {
|
|
|
162
171
|
}
|
|
163
172
|
get stream() {
|
|
164
173
|
return Stream.asyncInterrupt(emit => {
|
|
165
|
-
let
|
|
174
|
+
let offset = 0;
|
|
166
175
|
const onReadyStateChange = () => {
|
|
167
176
|
if (this.source.readyState === 3) {
|
|
168
|
-
emit.single(encoder.encode(this.source.responseText.slice(
|
|
169
|
-
|
|
177
|
+
emit.single(encoder.encode(this.source.responseText.slice(offset)));
|
|
178
|
+
offset = this.source.responseText.length;
|
|
170
179
|
} else if (this.source.readyState === 4) {
|
|
171
|
-
if (
|
|
172
|
-
emit.single(encoder.encode(this.source.responseText.slice(
|
|
180
|
+
if (offset < this.source.responseText.length) {
|
|
181
|
+
emit.single(encoder.encode(this.source.responseText.slice(offset)));
|
|
173
182
|
}
|
|
174
183
|
emit.end();
|
|
175
184
|
}
|
|
176
185
|
};
|
|
177
|
-
const onError =
|
|
178
|
-
emit.fail(this.onError(
|
|
186
|
+
const onError = () => {
|
|
187
|
+
emit.fail(this.onError(this.source.statusText));
|
|
179
188
|
};
|
|
180
189
|
this.source.addEventListener("readystatechange", onReadyStateChange);
|
|
181
190
|
this.source.addEventListener("error", onError);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","names":["Client","_interopRequireWildcard","require","Error","ClientResponse","Headers","IncomingMessage","UrlParams","Effect","Either","FiberRef","_GlobalValue","Layer","Option","Stream","HeaderParser","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","currentXMLHttpRequest","exports","globalValue","unsafeMake","globalThis","XMLHttpRequest","makeXMLHttpRequest","makeDefault","request","makeUrl","url","urlParams","_","RequestError","reason","error","pipe","zip","flatMap","XHR","xhr","open","method","toString","responseType","entries","headers","forEach","k","v","setRequestHeader","sendBody","zipLeft","async","resume","onChange","readyState","unit","onreadystatechange","as","ClientResponseImpl","onInterrupt","sync","abort","suspend","body","_tag","send","formData","matchEffect","runFold","stream","Uint8Array","acc","chunk","next","length","onFailure","fail","onSuccess","encoder","TextEncoder","IncomingMessageImpl","source","onError","TypeId","constructor","_headers","getAllResponseHeaders","empty","parser","make","result","encode","parsed","fromInput","remoteAddress","none","_textEffect","text","succeed","response","onReadyStateChange","event","addEventListener","removeEventListener","cached","runSync","json","tryMap","try","JSON","parse","catch","urlParamsBody","URLSearchParams","asyncInterrupt","emit","bytes","single","responseText","slice","end","left","arrayBuffer","map","buffer","ResponseError","status","die","toJSON","layerXMLHttpRequest"],"sources":["../../../../src/internal/http/client.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","names":["Client","_interopRequireWildcard","require","Error","ClientResponse","Headers","IncomingMessage","UrlParams","Effect","Either","FiberRef","_GlobalValue","Layer","Option","Stream","HeaderParser","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","currentXMLHttpRequest","exports","globalValue","unsafeMake","XMLHttpRequest","makeXMLHttpRequest","makeDefault","request","makeUrl","url","urlParams","_","RequestError","reason","error","pipe","zip","flatMap","makeXhr","acquireRelease","sync","xhr","abort","onreadystatechange","open","method","toString","responseType","entries","headers","forEach","k","v","setRequestHeader","sendBody","zipLeft","async","resume","onChange","readyState","unit","onerror","_event","fail","statusText","as","ClientResponseImpl","body","_tag","send","formData","matchEffect","runFold","stream","Uint8Array","acc","chunk","next","length","onFailure","onSuccess","encoder","TextEncoder","IncomingMessageImpl","source","onError","TypeId","constructor","_headers","getAllResponseHeaders","empty","parser","make","result","encode","parsed","fromInput","remoteAddress","none","_textEffect","text","succeed","responseText","onReadyStateChange","addEventListener","removeEventListener","cached","runSync","json","tryMap","try","JSON","parse","catch","urlParamsBody","URLSearchParams","asyncInterrupt","emit","offset","single","slice","end","left","arrayBuffer","map","buffer","ResponseError","response","status","die","toJSON","layerXMLHttpRequest"],"sources":["../../../../src/internal/http/client.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type * as Client from "@effect/platform/Http/Client";
|
|
5
5
|
import type * as FiberRef from "effect/FiberRef";
|
|
6
|
+
import type { LazyArg } from "effect/Function";
|
|
6
7
|
import type * as Layer from "effect/Layer";
|
|
7
8
|
/**
|
|
8
9
|
* @since 1.0.0
|
|
@@ -18,5 +19,5 @@ export declare const layerXMLHttpRequest: Layer.Layer<Client.Client.Default, nev
|
|
|
18
19
|
* @since 1.0.0
|
|
19
20
|
* @category fiber refs
|
|
20
21
|
*/
|
|
21
|
-
export declare const currentXMLHttpRequest: FiberRef.FiberRef<
|
|
22
|
+
export declare const currentXMLHttpRequest: FiberRef.FiberRef<LazyArg<XMLHttpRequest>>;
|
|
22
23
|
//# sourceMappingURL=BrowserHttpClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserHttpClient.d.ts","sourceRoot":"","sources":["../../src/BrowserHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAG1C;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAqC,CAAA;AAEhF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAgC,CAAA;AAEjH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,cAAc,CAAkC,CAAA"}
|
|
1
|
+
{"version":3,"file":"BrowserHttpClient.d.ts","sourceRoot":"","sources":["../../src/BrowserHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAG1C;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAqC,CAAA;AAEhF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAgC,CAAA;AAEjH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAkC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserHttpClient.js","names":["internal","xmlHttpRequest","makeXMLHttpRequest","layerXMLHttpRequest","currentXMLHttpRequest"],"sources":["../../src/BrowserHttpClient.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"BrowserHttpClient.js","names":["internal","xmlHttpRequest","makeXMLHttpRequest","layerXMLHttpRequest","currentXMLHttpRequest"],"sources":["../../src/BrowserHttpClient.ts"],"sourcesContent":[null],"mappings":"AAOA,OAAO,KAAKA,QAAQ,MAAM,2BAA2B;AAErD;;;;AAIA,OAAO,MAAMC,cAAc,GAA0BD,QAAQ,CAACE,kBAAkB;AAEhF;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAqDH,QAAQ,CAACG,mBAAmB;AAEjH;;;;AAIA,OAAO,MAAMC,qBAAqB,GAA+CJ,QAAQ,CAACI,qBAAqB"}
|
|
@@ -13,14 +13,16 @@ import * as Option from "effect/Option";
|
|
|
13
13
|
import * as Stream from "effect/Stream";
|
|
14
14
|
import * as HeaderParser from "multipasta/HeadersParser";
|
|
15
15
|
/** @internal */
|
|
16
|
-
export const currentXMLHttpRequest = /*#__PURE__*/globalValue("@effect/platform-browser/BrowserHttpClient/currentXMLHttpRequest", () => FiberRef.unsafeMake(
|
|
16
|
+
export const currentXMLHttpRequest = /*#__PURE__*/globalValue("@effect/platform-browser/BrowserHttpClient/currentXMLHttpRequest", () => FiberRef.unsafeMake(() => new XMLHttpRequest()));
|
|
17
17
|
/** @internal */
|
|
18
18
|
export const makeXMLHttpRequest = /*#__PURE__*/Client.makeDefault(request => UrlParams.makeUrl(request.url, request.urlParams, _ => Error.RequestError({
|
|
19
19
|
request,
|
|
20
20
|
reason: "InvalidUrl",
|
|
21
21
|
error: _
|
|
22
|
-
})).pipe(Effect.zip(FiberRef.get(currentXMLHttpRequest)
|
|
23
|
-
|
|
22
|
+
})).pipe(Effect.zip(Effect.flatMap(FiberRef.get(currentXMLHttpRequest), makeXhr => Effect.acquireRelease(Effect.sync(() => makeXhr()), xhr => Effect.sync(() => {
|
|
23
|
+
xhr.abort();
|
|
24
|
+
xhr.onreadystatechange = null;
|
|
25
|
+
})))), Effect.flatMap(([url, xhr]) => {
|
|
24
26
|
xhr.open(request.method, url.toString(), true);
|
|
25
27
|
xhr.responseType = "text";
|
|
26
28
|
Object.entries(request.headers).forEach(([k, v]) => {
|
|
@@ -33,10 +35,17 @@ export const makeXMLHttpRequest = /*#__PURE__*/Client.makeDefault(request => Url
|
|
|
33
35
|
}
|
|
34
36
|
};
|
|
35
37
|
xhr.onreadystatechange = onChange;
|
|
38
|
+
xhr.onerror = _event => {
|
|
39
|
+
resume(Effect.fail(Error.RequestError({
|
|
40
|
+
request,
|
|
41
|
+
reason: "Transport",
|
|
42
|
+
error: xhr.statusText
|
|
43
|
+
})));
|
|
44
|
+
};
|
|
36
45
|
onChange();
|
|
37
|
-
})), Effect.as(new ClientResponseImpl(request, xhr))
|
|
46
|
+
})), Effect.as(new ClientResponseImpl(request, xhr)));
|
|
38
47
|
})));
|
|
39
|
-
const sendBody = (xhr, request) =>
|
|
48
|
+
const sendBody = (xhr, request) => {
|
|
40
49
|
const body = request.body;
|
|
41
50
|
switch (body._tag) {
|
|
42
51
|
case "Empty":
|
|
@@ -62,7 +71,7 @@ const sendBody = (xhr, request) => Effect.suspend(() => {
|
|
|
62
71
|
onSuccess: body => Effect.sync(() => xhr.send(body))
|
|
63
72
|
});
|
|
64
73
|
}
|
|
65
|
-
}
|
|
74
|
+
};
|
|
66
75
|
const encoder = /*#__PURE__*/new TextEncoder();
|
|
67
76
|
/** @internal */
|
|
68
77
|
export class IncomingMessageImpl {
|
|
@@ -98,16 +107,16 @@ export class IncomingMessageImpl {
|
|
|
98
107
|
}
|
|
99
108
|
return this._textEffect = Effect.async(resume => {
|
|
100
109
|
if (this.source.readyState === 4) {
|
|
101
|
-
resume(Effect.succeed(this.source.
|
|
110
|
+
resume(Effect.succeed(this.source.responseText));
|
|
102
111
|
return;
|
|
103
112
|
}
|
|
104
113
|
const onReadyStateChange = () => {
|
|
105
114
|
if (this.source.readyState === 4) {
|
|
106
|
-
resume(Effect.succeed(this.source.
|
|
115
|
+
resume(Effect.succeed(this.source.responseText));
|
|
107
116
|
}
|
|
108
117
|
};
|
|
109
|
-
const onError =
|
|
110
|
-
resume(Effect.fail(this.onError(
|
|
118
|
+
const onError = () => {
|
|
119
|
+
resume(Effect.fail(this.onError(this.source.statusText)));
|
|
111
120
|
};
|
|
112
121
|
this.source.addEventListener("readystatechange", onReadyStateChange);
|
|
113
122
|
this.source.addEventListener("error", onError);
|
|
@@ -131,20 +140,20 @@ export class IncomingMessageImpl {
|
|
|
131
140
|
}
|
|
132
141
|
get stream() {
|
|
133
142
|
return Stream.asyncInterrupt(emit => {
|
|
134
|
-
let
|
|
143
|
+
let offset = 0;
|
|
135
144
|
const onReadyStateChange = () => {
|
|
136
145
|
if (this.source.readyState === 3) {
|
|
137
|
-
emit.single(encoder.encode(this.source.responseText.slice(
|
|
138
|
-
|
|
146
|
+
emit.single(encoder.encode(this.source.responseText.slice(offset)));
|
|
147
|
+
offset = this.source.responseText.length;
|
|
139
148
|
} else if (this.source.readyState === 4) {
|
|
140
|
-
if (
|
|
141
|
-
emit.single(encoder.encode(this.source.responseText.slice(
|
|
149
|
+
if (offset < this.source.responseText.length) {
|
|
150
|
+
emit.single(encoder.encode(this.source.responseText.slice(offset)));
|
|
142
151
|
}
|
|
143
152
|
emit.end();
|
|
144
153
|
}
|
|
145
154
|
};
|
|
146
|
-
const onError =
|
|
147
|
-
emit.fail(this.onError(
|
|
155
|
+
const onError = () => {
|
|
156
|
+
emit.fail(this.onError(this.source.statusText));
|
|
148
157
|
};
|
|
149
158
|
this.source.addEventListener("readystatechange", onReadyStateChange);
|
|
150
159
|
this.source.addEventListener("error", onError);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","names":["Client","Error","ClientResponse","Headers","IncomingMessage","UrlParams","Effect","Either","FiberRef","globalValue","Layer","Option","Stream","HeaderParser","currentXMLHttpRequest","unsafeMake","
|
|
1
|
+
{"version":3,"file":"client.js","names":["Client","Error","ClientResponse","Headers","IncomingMessage","UrlParams","Effect","Either","FiberRef","globalValue","Layer","Option","Stream","HeaderParser","currentXMLHttpRequest","unsafeMake","XMLHttpRequest","makeXMLHttpRequest","makeDefault","request","makeUrl","url","urlParams","_","RequestError","reason","error","pipe","zip","flatMap","get","makeXhr","acquireRelease","sync","xhr","abort","onreadystatechange","open","method","toString","responseType","Object","entries","headers","forEach","k","v","setRequestHeader","sendBody","zipLeft","async","resume","onChange","readyState","unit","onerror","_event","fail","statusText","as","ClientResponseImpl","body","_tag","send","formData","matchEffect","runFold","stream","Uint8Array","acc","chunk","next","length","set","onFailure","onSuccess","encoder","TextEncoder","IncomingMessageImpl","source","onError","TypeId","constructor","_headers","getAllResponseHeaders","empty","parser","make","result","encode","parsed","fromInput","remoteAddress","none","_textEffect","text","succeed","responseText","onReadyStateChange","addEventListener","removeEventListener","cached","runSync","json","tryMap","try","JSON","parse","catch","urlParamsBody","URLSearchParams","asyncInterrupt","emit","offset","single","slice","end","left","arrayBuffer","map","buffer","ResponseError","response","status","die","toJSON","layerXMLHttpRequest"],"sources":["../../../../src/internal/http/client.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/platform-browser",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.30.0",
|
|
4
4
|
"description": "Unified interfaces for common platform-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"multipasta": "^0.1.21"
|
|
13
13
|
},
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@effect/platform": "^0.
|
|
16
|
-
"effect": "^2.3.
|
|
15
|
+
"@effect/platform": "^0.45.0",
|
|
16
|
+
"effect": "^2.3.5"
|
|
17
17
|
},
|
|
18
18
|
"main": "./dist/cjs/index.js",
|
|
19
19
|
"module": "./dist/esm/index.js",
|
package/src/BrowserHttpClient.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type * as Client from "@effect/platform/Http/Client"
|
|
5
5
|
import type * as FiberRef from "effect/FiberRef"
|
|
6
|
+
import type { LazyArg } from "effect/Function"
|
|
6
7
|
import type * as Layer from "effect/Layer"
|
|
7
8
|
import * as internal from "./internal/http/client.js"
|
|
8
9
|
|
|
@@ -22,4 +23,4 @@ export const layerXMLHttpRequest: Layer.Layer<Client.Client.Default, never, neve
|
|
|
22
23
|
* @since 1.0.0
|
|
23
24
|
* @category fiber refs
|
|
24
25
|
*/
|
|
25
|
-
export const currentXMLHttpRequest: FiberRef.FiberRef<
|
|
26
|
+
export const currentXMLHttpRequest: FiberRef.FiberRef<LazyArg<XMLHttpRequest>> = internal.currentXMLHttpRequest
|
|
@@ -8,6 +8,7 @@ import * as UrlParams from "@effect/platform/Http/UrlParams"
|
|
|
8
8
|
import * as Effect from "effect/Effect"
|
|
9
9
|
import * as Either from "effect/Either"
|
|
10
10
|
import * as FiberRef from "effect/FiberRef"
|
|
11
|
+
import type { LazyArg } from "effect/Function"
|
|
11
12
|
import { globalValue } from "effect/GlobalValue"
|
|
12
13
|
import * as Layer from "effect/Layer"
|
|
13
14
|
import * as Option from "effect/Option"
|
|
@@ -17,7 +18,7 @@ import * as HeaderParser from "multipasta/HeadersParser"
|
|
|
17
18
|
/** @internal */
|
|
18
19
|
export const currentXMLHttpRequest = globalValue(
|
|
19
20
|
"@effect/platform-browser/BrowserHttpClient/currentXMLHttpRequest",
|
|
20
|
-
() => FiberRef.unsafeMake(
|
|
21
|
+
() => FiberRef.unsafeMake<LazyArg<XMLHttpRequest>>(() => new XMLHttpRequest())
|
|
21
22
|
)
|
|
22
23
|
|
|
23
24
|
/** @internal */
|
|
@@ -28,63 +29,80 @@ export const makeXMLHttpRequest = Client.makeDefault((request) =>
|
|
|
28
29
|
reason: "InvalidUrl",
|
|
29
30
|
error: _
|
|
30
31
|
})).pipe(
|
|
31
|
-
Effect.zip(
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
Effect.zip(
|
|
33
|
+
Effect.flatMap(FiberRef.get(currentXMLHttpRequest), (makeXhr) =>
|
|
34
|
+
Effect.acquireRelease(
|
|
35
|
+
Effect.sync(() => makeXhr()),
|
|
36
|
+
(xhr) =>
|
|
37
|
+
Effect.sync(() => {
|
|
38
|
+
xhr.abort()
|
|
39
|
+
xhr.onreadystatechange = null
|
|
40
|
+
})
|
|
41
|
+
))
|
|
42
|
+
),
|
|
43
|
+
Effect.flatMap(([url, xhr]) => {
|
|
34
44
|
xhr.open(request.method, url.toString(), true)
|
|
35
45
|
xhr.responseType = "text"
|
|
36
46
|
Object.entries(request.headers).forEach(([k, v]) => {
|
|
37
47
|
xhr.setRequestHeader(k, v)
|
|
38
48
|
})
|
|
39
49
|
return sendBody(xhr, request).pipe(
|
|
40
|
-
Effect.zipLeft(Effect.async<void>((resume) => {
|
|
50
|
+
Effect.zipLeft(Effect.async<void, Error.RequestError>((resume) => {
|
|
41
51
|
const onChange = () => {
|
|
42
52
|
if (xhr.readyState >= 2) {
|
|
43
53
|
resume(Effect.unit)
|
|
44
54
|
}
|
|
45
55
|
}
|
|
46
56
|
xhr.onreadystatechange = onChange
|
|
57
|
+
xhr.onerror = (_event) => {
|
|
58
|
+
resume(Effect.fail(Error.RequestError({
|
|
59
|
+
request,
|
|
60
|
+
reason: "Transport",
|
|
61
|
+
error: xhr.statusText
|
|
62
|
+
})))
|
|
63
|
+
}
|
|
47
64
|
onChange()
|
|
48
65
|
})),
|
|
49
|
-
Effect.as(new ClientResponseImpl(request, xhr))
|
|
50
|
-
Effect.onInterrupt(() => Effect.sync(() => xhr.abort()))
|
|
66
|
+
Effect.as(new ClientResponseImpl(request, xhr))
|
|
51
67
|
)
|
|
52
68
|
})
|
|
53
69
|
)
|
|
54
70
|
)
|
|
55
71
|
|
|
56
|
-
const sendBody = (
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
72
|
+
const sendBody = (
|
|
73
|
+
xhr: XMLHttpRequest,
|
|
74
|
+
request: ClientRequest.ClientRequest
|
|
75
|
+
): Effect.Effect<void, Error.RequestError> => {
|
|
76
|
+
const body = request.body
|
|
77
|
+
switch (body._tag) {
|
|
78
|
+
case "Empty":
|
|
79
|
+
return Effect.sync(() => xhr.send())
|
|
80
|
+
case "Raw":
|
|
81
|
+
return Effect.sync(() => xhr.send(body.body as any))
|
|
82
|
+
case "Uint8Array":
|
|
83
|
+
return Effect.sync(() => xhr.send(body.body))
|
|
84
|
+
case "FormData":
|
|
85
|
+
return Effect.sync(() => xhr.send(body.formData))
|
|
86
|
+
case "Stream":
|
|
87
|
+
return Effect.matchEffect(
|
|
88
|
+
Stream.runFold(body.stream, new Uint8Array(0), (acc, chunk) => {
|
|
89
|
+
const next = new Uint8Array(acc.length + chunk.length)
|
|
90
|
+
next.set(acc, 0)
|
|
91
|
+
next.set(chunk, acc.length)
|
|
92
|
+
return next
|
|
93
|
+
}),
|
|
94
|
+
{
|
|
95
|
+
onFailure: (error) =>
|
|
96
|
+
Effect.fail(Error.RequestError({
|
|
97
|
+
request,
|
|
98
|
+
reason: "Encode",
|
|
99
|
+
error
|
|
100
|
+
})),
|
|
101
|
+
onSuccess: (body) => Effect.sync(() => xhr.send(body))
|
|
102
|
+
}
|
|
103
|
+
)
|
|
104
|
+
}
|
|
105
|
+
}
|
|
88
106
|
|
|
89
107
|
const encoder = new TextEncoder()
|
|
90
108
|
|
|
@@ -125,17 +143,17 @@ export class IncomingMessageImpl<E> implements IncomingMessage.IncomingMessage<E
|
|
|
125
143
|
}
|
|
126
144
|
return this._textEffect = Effect.async<string, E>((resume) => {
|
|
127
145
|
if (this.source.readyState === 4) {
|
|
128
|
-
resume(Effect.succeed(this.source.
|
|
146
|
+
resume(Effect.succeed(this.source.responseText))
|
|
129
147
|
return
|
|
130
148
|
}
|
|
131
149
|
|
|
132
150
|
const onReadyStateChange = () => {
|
|
133
151
|
if (this.source.readyState === 4) {
|
|
134
|
-
resume(Effect.succeed(this.source.
|
|
152
|
+
resume(Effect.succeed(this.source.responseText))
|
|
135
153
|
}
|
|
136
154
|
}
|
|
137
|
-
const onError = (
|
|
138
|
-
resume(Effect.fail(this.onError(
|
|
155
|
+
const onError = () => {
|
|
156
|
+
resume(Effect.fail(this.onError(this.source.statusText)))
|
|
139
157
|
}
|
|
140
158
|
this.source.addEventListener("readystatechange", onReadyStateChange)
|
|
141
159
|
this.source.addEventListener("error", onError)
|
|
@@ -166,20 +184,20 @@ export class IncomingMessageImpl<E> implements IncomingMessage.IncomingMessage<E
|
|
|
166
184
|
|
|
167
185
|
get stream(): Stream.Stream<Uint8Array, E> {
|
|
168
186
|
return Stream.asyncInterrupt<Uint8Array, E>((emit) => {
|
|
169
|
-
let
|
|
187
|
+
let offset = 0
|
|
170
188
|
const onReadyStateChange = () => {
|
|
171
189
|
if (this.source.readyState === 3) {
|
|
172
|
-
emit.single(encoder.encode(this.source.responseText.slice(
|
|
173
|
-
|
|
190
|
+
emit.single(encoder.encode(this.source.responseText.slice(offset)))
|
|
191
|
+
offset = this.source.responseText.length
|
|
174
192
|
} else if (this.source.readyState === 4) {
|
|
175
|
-
if (
|
|
176
|
-
emit.single(encoder.encode(this.source.responseText.slice(
|
|
193
|
+
if (offset < this.source.responseText.length) {
|
|
194
|
+
emit.single(encoder.encode(this.source.responseText.slice(offset)))
|
|
177
195
|
}
|
|
178
196
|
emit.end()
|
|
179
197
|
}
|
|
180
198
|
}
|
|
181
|
-
const onError = (
|
|
182
|
-
emit.fail(this.onError(
|
|
199
|
+
const onError = () => {
|
|
200
|
+
emit.fail(this.onError(this.source.statusText))
|
|
183
201
|
}
|
|
184
202
|
this.source.addEventListener("readystatechange", onReadyStateChange)
|
|
185
203
|
this.source.addEventListener("error", onError)
|