@subsquid/http-client 1.2.2 → 1.3.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/lib/client.d.ts +7 -2
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +17 -10
- package/lib/client.js.map +1 -1
- package/package.json +2 -2
- package/src/client.ts +21 -11
package/lib/client.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { Logger } from '@subsquid/logger';
|
|
|
2
2
|
import type { Headers, RequestInit, Response } from 'node-fetch';
|
|
3
3
|
import { AgentProvider } from './agent';
|
|
4
4
|
import { HttpBody } from './body';
|
|
5
|
+
export { HttpBody };
|
|
5
6
|
export interface HttpClientOptions {
|
|
6
7
|
agent?: AgentProvider;
|
|
7
8
|
baseUrl?: string;
|
|
@@ -24,6 +25,7 @@ export interface RequestOptions {
|
|
|
24
25
|
retrySchedule?: number[];
|
|
25
26
|
httpTimeout?: number;
|
|
26
27
|
abort?: AbortSignal;
|
|
28
|
+
stream?: boolean;
|
|
27
29
|
}
|
|
28
30
|
export interface GraphqlRequestOptions extends RequestOptions {
|
|
29
31
|
variables?: Record<string, any>;
|
|
@@ -36,6 +38,7 @@ export interface FetchRequest extends RequestInit {
|
|
|
36
38
|
headers: Headers;
|
|
37
39
|
timeout?: number;
|
|
38
40
|
signal?: AbortSignal;
|
|
41
|
+
stream?: boolean;
|
|
39
42
|
}
|
|
40
43
|
export declare class HttpClient {
|
|
41
44
|
protected log?: Logger;
|
|
@@ -71,13 +74,14 @@ export declare class HttpResponse<T = any> {
|
|
|
71
74
|
readonly status: number;
|
|
72
75
|
readonly headers: Headers;
|
|
73
76
|
readonly body: T;
|
|
74
|
-
|
|
77
|
+
readonly stream: boolean;
|
|
78
|
+
constructor(requestId: number, url: string, status: number, headers: Headers, body: T, stream: boolean);
|
|
75
79
|
get ok(): boolean;
|
|
76
80
|
assert(): void;
|
|
77
81
|
toJSON(): {
|
|
78
82
|
status: number;
|
|
79
83
|
headers: [string, string][];
|
|
80
|
-
body: T;
|
|
84
|
+
body: T | undefined;
|
|
81
85
|
url: string;
|
|
82
86
|
};
|
|
83
87
|
}
|
|
@@ -87,6 +91,7 @@ export declare class HttpError extends Error {
|
|
|
87
91
|
get name(): string;
|
|
88
92
|
}
|
|
89
93
|
export declare class HttpTimeoutError extends Error {
|
|
94
|
+
readonly ms: number;
|
|
90
95
|
constructor(ms: number);
|
|
91
96
|
get name(): string;
|
|
92
97
|
}
|
package/lib/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAG5C,OAAO,KAAK,EAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAC,aAAa,EAAuB,MAAM,SAAS,CAAA;AAC3D,OAAO,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAA;AAI/B,MAAM,WAAW,iBAAiB;IAC9B,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAA;IAClD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAGD,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAA;IAChD,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/lib/client.js
CHANGED
|
@@ -93,7 +93,7 @@ class HttpClient {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
afterResponse(req, res) {
|
|
96
|
-
if (this.log?.isDebug()) {
|
|
96
|
+
if (!res.stream && this.log?.isDebug()) {
|
|
97
97
|
let httpResponseBody = res.body;
|
|
98
98
|
if (typeof res.body == 'string' || res.body instanceof Uint8Array) {
|
|
99
99
|
if (res.body.length > 1024 * 1024) {
|
|
@@ -115,7 +115,8 @@ class HttpClient {
|
|
|
115
115
|
url: this.getAbsUrl(url),
|
|
116
116
|
signal: options.abort,
|
|
117
117
|
compress: true,
|
|
118
|
-
timeout: options.httpTimeout ?? this.httpTimeout
|
|
118
|
+
timeout: options.httpTimeout ?? this.httpTimeout,
|
|
119
|
+
stream: options.stream
|
|
119
120
|
};
|
|
120
121
|
this.handleBasicAuth(req);
|
|
121
122
|
if (options.query) {
|
|
@@ -191,14 +192,19 @@ class HttpClient {
|
|
|
191
192
|
if (timer != null) {
|
|
192
193
|
clearTimeout(timer);
|
|
193
194
|
}
|
|
194
|
-
req.signal?.removeEventListener('abort', abort);
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
197
|
async performRequest(req) {
|
|
198
198
|
let res = await request_1.nodeFetch.request(req.url, req);
|
|
199
199
|
this.afterResponseHeaders(req, res.url, res.status, res.headers);
|
|
200
|
-
let
|
|
201
|
-
|
|
200
|
+
let httpResponse;
|
|
201
|
+
if (req.stream && res.ok) {
|
|
202
|
+
httpResponse = new HttpResponse(req.id, res.url, res.status, res.headers, res.body, res.body != null);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
let body = await this.handleResponseBody(req, res);
|
|
206
|
+
httpResponse = new HttpResponse(req.id, res.url, res.status, res.headers, body, false);
|
|
207
|
+
}
|
|
202
208
|
this.afterResponse(req, httpResponse);
|
|
203
209
|
return httpResponse;
|
|
204
210
|
}
|
|
@@ -211,10 +217,9 @@ class HttpClient {
|
|
|
211
217
|
return res.text();
|
|
212
218
|
}
|
|
213
219
|
let arrayBuffer = await res.arrayBuffer();
|
|
214
|
-
|
|
215
|
-
if (bytes.length == 0)
|
|
220
|
+
if (arrayBuffer.byteLength == 0)
|
|
216
221
|
return undefined;
|
|
217
|
-
return
|
|
222
|
+
return Buffer.from(arrayBuffer);
|
|
218
223
|
}
|
|
219
224
|
isRetryableError(error, req) {
|
|
220
225
|
if (isHttpConnectionError(error))
|
|
@@ -304,12 +309,13 @@ class HttpClient {
|
|
|
304
309
|
}
|
|
305
310
|
exports.HttpClient = HttpClient;
|
|
306
311
|
class HttpResponse {
|
|
307
|
-
constructor(requestId, url, status, headers, body) {
|
|
312
|
+
constructor(requestId, url, status, headers, body, stream) {
|
|
308
313
|
this.requestId = requestId;
|
|
309
314
|
this.url = url;
|
|
310
315
|
this.status = status;
|
|
311
316
|
this.headers = headers;
|
|
312
317
|
this.body = body;
|
|
318
|
+
this.stream = stream;
|
|
313
319
|
}
|
|
314
320
|
get ok() {
|
|
315
321
|
return this.status >= 200 && this.status < 300;
|
|
@@ -323,7 +329,7 @@ class HttpResponse {
|
|
|
323
329
|
return {
|
|
324
330
|
status: this.status,
|
|
325
331
|
headers: Array.from(this.headers),
|
|
326
|
-
body: this.body,
|
|
332
|
+
body: this.stream ? undefined : this.body,
|
|
327
333
|
url: this.url
|
|
328
334
|
};
|
|
329
335
|
}
|
|
@@ -342,6 +348,7 @@ exports.HttpError = HttpError;
|
|
|
342
348
|
class HttpTimeoutError extends Error {
|
|
343
349
|
constructor(ms) {
|
|
344
350
|
super(`request timed out after ${ms} ms`);
|
|
351
|
+
this.ms = ms;
|
|
345
352
|
}
|
|
346
353
|
get name() {
|
|
347
354
|
return 'HttpTimeoutError';
|
package/lib/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subsquid/http-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Small convenience layer on top of fetch",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
6
6
|
"repository": "git@github.com:subsquid/squid.git",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
],
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@subsquid/logger": "^1.3.0",
|
|
19
|
-
"@subsquid/util-internal": "^2.5.
|
|
19
|
+
"@subsquid/util-internal": "^2.5.1",
|
|
20
20
|
"node-fetch": "^3.3.1"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
package/src/client.ts
CHANGED
|
@@ -7,6 +7,9 @@ import {HttpBody} from './body'
|
|
|
7
7
|
import {nodeFetch} from './request'
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
export {HttpBody}
|
|
11
|
+
|
|
12
|
+
|
|
10
13
|
export interface HttpClientOptions {
|
|
11
14
|
agent?: AgentProvider
|
|
12
15
|
baseUrl?: string
|
|
@@ -31,6 +34,7 @@ export interface RequestOptions {
|
|
|
31
34
|
retrySchedule?: number[]
|
|
32
35
|
httpTimeout?: number
|
|
33
36
|
abort?: AbortSignal
|
|
37
|
+
stream?: boolean
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
|
|
@@ -47,6 +51,7 @@ export interface FetchRequest extends RequestInit {
|
|
|
47
51
|
headers: Headers
|
|
48
52
|
timeout?: number
|
|
49
53
|
signal?: AbortSignal
|
|
54
|
+
stream?: boolean
|
|
50
55
|
}
|
|
51
56
|
|
|
52
57
|
|
|
@@ -156,7 +161,7 @@ export class HttpClient {
|
|
|
156
161
|
}
|
|
157
162
|
|
|
158
163
|
protected afterResponse(req: FetchRequest, res: HttpResponse): void {
|
|
159
|
-
if (this.log?.isDebug()) {
|
|
164
|
+
if (!res.stream && this.log?.isDebug()) {
|
|
160
165
|
let httpResponseBody: any = res.body
|
|
161
166
|
if (typeof res.body == 'string' || res.body instanceof Uint8Array) {
|
|
162
167
|
if (res.body.length > 1024 * 1024) {
|
|
@@ -184,7 +189,8 @@ export class HttpClient {
|
|
|
184
189
|
url: this.getAbsUrl(url),
|
|
185
190
|
signal: options.abort,
|
|
186
191
|
compress: true,
|
|
187
|
-
timeout: options.httpTimeout ?? this.httpTimeout
|
|
192
|
+
timeout: options.httpTimeout ?? this.httpTimeout,
|
|
193
|
+
stream: options.stream
|
|
188
194
|
}
|
|
189
195
|
|
|
190
196
|
this.handleBasicAuth(req)
|
|
@@ -267,15 +273,19 @@ export class HttpClient {
|
|
|
267
273
|
if (timer != null) {
|
|
268
274
|
clearTimeout(timer)
|
|
269
275
|
}
|
|
270
|
-
req.signal?.removeEventListener('abort', abort)
|
|
271
276
|
}
|
|
272
277
|
}
|
|
273
278
|
|
|
274
279
|
private async performRequest(req: FetchRequest): Promise<HttpResponse> {
|
|
275
280
|
let res = await nodeFetch.request(req.url, req)
|
|
276
281
|
this.afterResponseHeaders(req, res.url, res.status, res.headers)
|
|
277
|
-
let
|
|
278
|
-
|
|
282
|
+
let httpResponse
|
|
283
|
+
if (req.stream && res.ok) {
|
|
284
|
+
httpResponse = new HttpResponse(req.id, res.url, res.status, res.headers, res.body, res.body != null)
|
|
285
|
+
} else {
|
|
286
|
+
let body = await this.handleResponseBody(req, res)
|
|
287
|
+
httpResponse = new HttpResponse(req.id, res.url, res.status, res.headers, body, false)
|
|
288
|
+
}
|
|
279
289
|
this.afterResponse(req, httpResponse)
|
|
280
290
|
return httpResponse
|
|
281
291
|
}
|
|
@@ -292,9 +302,8 @@ export class HttpClient {
|
|
|
292
302
|
}
|
|
293
303
|
|
|
294
304
|
let arrayBuffer = await res.arrayBuffer()
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
return bytes
|
|
305
|
+
if (arrayBuffer.byteLength == 0) return undefined
|
|
306
|
+
return Buffer.from(arrayBuffer)
|
|
298
307
|
}
|
|
299
308
|
|
|
300
309
|
isRetryableError(error: HttpResponse | Error, req?: FetchRequest): boolean {
|
|
@@ -385,7 +394,8 @@ export class HttpResponse<T=any> {
|
|
|
385
394
|
public readonly url: string,
|
|
386
395
|
public readonly status: number,
|
|
387
396
|
public readonly headers: Headers,
|
|
388
|
-
public readonly body: T
|
|
397
|
+
public readonly body: T,
|
|
398
|
+
public readonly stream: boolean
|
|
389
399
|
) {
|
|
390
400
|
}
|
|
391
401
|
|
|
@@ -402,7 +412,7 @@ export class HttpResponse<T=any> {
|
|
|
402
412
|
return {
|
|
403
413
|
status: this.status,
|
|
404
414
|
headers: Array.from(this.headers),
|
|
405
|
-
body: this.body,
|
|
415
|
+
body: this.stream ? undefined : this.body,
|
|
406
416
|
url: this.url
|
|
407
417
|
}
|
|
408
418
|
}
|
|
@@ -421,7 +431,7 @@ export class HttpError extends Error {
|
|
|
421
431
|
|
|
422
432
|
|
|
423
433
|
export class HttpTimeoutError extends Error {
|
|
424
|
-
constructor(ms: number) {
|
|
434
|
+
constructor(public readonly ms: number) {
|
|
425
435
|
super(`request timed out after ${ms} ms`)
|
|
426
436
|
}
|
|
427
437
|
|