@subsquid/rpc-client
Advanced tools
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AAC3G,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAGvC,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;AAqBjE,MAAM,WAAW,qBAAqB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;CACzC;AAGD,qBAAa,cAAe,YAAW,UAAU;IAC7C,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,GAAG,CAAC,CAAQ;IACpB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,IAAI,CAAe;gBAEf,OAAO,EAAE,qBAAqB;IAa1C,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI;IAOxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAY7D,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CAmCjF"} | ||
| {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqD,iBAAiB,EAAC,MAAM,uBAAuB,CAAA;AAC3G,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAGvC,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAA;AAqBjE,MAAM,WAAW,qBAAqB;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;CACzC;AAGD,qBAAa,cAAe,YAAW,UAAU;IAC7C,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,GAAG,CAAC,CAAQ;IACpB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,IAAI,CAAe;gBAEf,OAAO,EAAE,qBAAqB;IAa1C,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI;IAOxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAkB7D,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CA2CjF"} |
@@ -56,2 +56,9 @@ "use strict"; | ||
| if (req.id !== res.id) { | ||
| // Many endpoints/proxies return a JSON-RPC error envelope with `id: null` | ||
| // (per spec for parse/invalid-request errors, but also commonly for rate | ||
| // limiting, oversized requests, upstream gateway failures, etc.). Surface | ||
| // that as the real server error instead of masking it as a protocol error, | ||
| // so it carries the server's message/code and can be retried where applicable. | ||
| if (res.error) | ||
| return res; | ||
| throw new errors_1.RpcProtocolError(1008, `Got response for unknown request ${res.id}`); | ||
@@ -68,2 +75,10 @@ } | ||
| if (!Array.isArray(res)) { | ||
| // A server that rejects the whole batch (rate limit, oversized request, | ||
| // upstream failure, ...) often replies with a single JSON-RPC error | ||
| // envelope rather than an array. Surface that server error instead of | ||
| // the misleading "should be an array" protocol error. | ||
| let error = res?.error; | ||
| if (error) { | ||
| throw new errors_1.RpcError(error); | ||
| } | ||
| throw new errors_1.RpcProtocolError(1008, `Response for a batch request should be an array`); | ||
@@ -70,0 +85,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"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"} |
+2
-2
| { | ||
| "name": "@subsquid/rpc-client", | ||
| "version": "4.15.0", | ||
| "version": "4.15.1", | ||
| "description": "Lightweight JSON-RPC client library", | ||
@@ -18,3 +18,3 @@ "license": "GPL-3.0-or-later", | ||
| "@subsquid/logger": "^1.6.0", | ||
| "@subsquid/util-internal": "^3.3.0", | ||
| "@subsquid/util-internal": "^3.3.1", | ||
| "@subsquid/util-internal-binary-heap": "^1.0.0", | ||
@@ -21,0 +21,0 @@ "@subsquid/util-internal-counters": "^1.3.2", |
| import {FetchRequest, FetchResponse, HttpAgent, HttpClient, HttpClientOptions} from '@subsquid/http-client' | ||
| import {Logger} from '@subsquid/logger' | ||
| import {fixUnsafeIntegers} from '@subsquid/util-internal-json-fix-unsafe-integers' | ||
| import {RpcProtocolError} from '../errors' | ||
| import {RpcError, RpcProtocolError} from '../errors' | ||
| import {Connection, RpcRequest, RpcResponse} from '../interfaces' | ||
@@ -71,2 +71,8 @@ | ||
| if (req.id !== res.id) { | ||
| // Many endpoints/proxies return a JSON-RPC error envelope with `id: null` | ||
| // (per spec for parse/invalid-request errors, but also commonly for rate | ||
| // limiting, oversized requests, upstream gateway failures, etc.). Surface | ||
| // that as the real server error instead of masking it as a protocol error, | ||
| // so it carries the server's message/code and can be retried where applicable. | ||
| if (res.error) return res | ||
| throw new RpcProtocolError(1008, `Got response for unknown request ${res.id}`) | ||
@@ -84,2 +90,10 @@ } | ||
| if (!Array.isArray(res)) { | ||
| // A server that rejects the whole batch (rate limit, oversized request, | ||
| // upstream failure, ...) often replies with a single JSON-RPC error | ||
| // envelope rather than an array. Surface that server error instead of | ||
| // the misleading "should be an array" protocol error. | ||
| let error = (res as unknown as RpcResponse | null)?.error | ||
| if (error) { | ||
| throw new RpcError(error) | ||
| } | ||
| throw new RpcProtocolError(1008, `Response for a batch request should be an array`) | ||
@@ -86,0 +100,0 @@ } |
127653
1.74%2484
1.18%