viem 0.0.0-main.20240331T211345 → 0.0.0-main.20240331T211924
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/_cjs/clients/transports/http.js +2 -1
- package/_cjs/clients/transports/http.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/utils/rpc/http.js +7 -6
- package/_cjs/utils/rpc/http.js.map +1 -1
- package/_esm/clients/transports/http.js +2 -1
- package/_esm/clients/transports/http.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/utils/rpc/http.js +7 -6
- package/_esm/utils/rpc/http.js.map +1 -1
- package/_types/clients/transports/http.d.ts +3 -3
- package/_types/clients/transports/http.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/utils/rpc/http.d.ts +11 -0
- package/_types/utils/rpc/http.d.ts.map +1 -1
- package/clients/transports/http.ts +5 -3
- package/errors/version.ts +1 -1
- package/package.json +1 -1
- package/utils/rpc/http.ts +17 -12
@@ -7,7 +7,7 @@ const createBatchScheduler_js_1 = require("../../utils/promise/createBatchSchedu
|
|
7
7
|
const http_js_1 = require("../../utils/rpc/http.js");
|
8
8
|
const createTransport_js_1 = require("./createTransport.js");
|
9
9
|
function http(url, config = {}) {
|
10
|
-
const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', onFetchResponse, retryDelay, } = config;
|
10
|
+
const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', onFetchRequest, onFetchResponse, retryDelay, } = config;
|
11
11
|
return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {
|
12
12
|
const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};
|
13
13
|
const retryCount = config.retryCount ?? retryCount_;
|
@@ -17,6 +17,7 @@ function http(url, config = {}) {
|
|
17
17
|
throw new transport_js_1.UrlRequiredError();
|
18
18
|
const rpcClient = (0, http_js_1.getHttpRpcClient)(url_, {
|
19
19
|
fetchOptions,
|
20
|
+
onRequest: onFetchRequest,
|
20
21
|
onResponse: onFetchResponse,
|
21
22
|
timeout,
|
22
23
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,4DAGkC;AAGlC,yFAAkF;AAClF,qDAGgC;AAEhC,6DAK6B;AAoD7B,SAAgB,IAAI,CAElB,GAAwB,EACxB,SAA8B,EAAE;IAEhC,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,IAAI,GAAG,eAAe,EACtB,eAAe,EACf,UAAU,GACX,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,GAClC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAA;QACpD,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,+BAAgB,EAAE,CAAA;QAEvC,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,IAAI,EAAE;YACvC,YAAY;YACZ,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,OAAO,IAAA,oCAAe,EACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8CAAoB,EAAC;oBACxC,EAAE,EAAE,GAAG,GAAG,EAAE;oBACZ,IAAI;oBACJ,gBAAgB,CAAC,QAAQ;wBACvB,OAAO,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;oBACpC,CAAC;oBACD,EAAE,EAAE,CAAC,IAAkB,EAAE,EAAE,CACzB,SAAS,CAAC,OAAO,CAAC;wBAChB,IAAI;qBACL,CAAC;oBACJ,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;iBAC5B,CAAC,CAAA;gBAEF,MAAM,EAAE,GAAG,KAAK,EAAE,IAAgB,EAAE,EAAE,CACpC,KAAK;oBACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChB,CAAC,CAAC;wBACE,MAAM,SAAS,CAAC,OAAO,CAAC;4BACtB,IAAI;yBACL,CAAC;qBACH,CAAA;gBAEP,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC1C,IAAI,KAAK;oBACP,MAAM,IAAI,4BAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,4DAGkC;AAGlC,yFAAkF;AAClF,qDAGgC;AAEhC,6DAK6B;AAoD7B,SAAgB,IAAI,CAElB,GAAwB,EACxB,SAA8B,EAAE;IAEhC,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,IAAI,GAAG,eAAe,EACtB,cAAc,EACd,eAAe,EACf,UAAU,GACX,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,GAClC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAA;QACpD,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,+BAAgB,EAAE,CAAA;QAEvC,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,IAAI,EAAE;YACvC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,OAAO,IAAA,oCAAe,EACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8CAAoB,EAAC;oBACxC,EAAE,EAAE,GAAG,GAAG,EAAE;oBACZ,IAAI;oBACJ,gBAAgB,CAAC,QAAQ;wBACvB,OAAO,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;oBACpC,CAAC;oBACD,EAAE,EAAE,CAAC,IAAkB,EAAE,EAAE,CACzB,SAAS,CAAC,OAAO,CAAC;wBAChB,IAAI;qBACL,CAAC;oBACJ,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;iBAC5B,CAAC,CAAA;gBAEF,MAAM,EAAE,GAAG,KAAK,EAAE,IAAgB,EAAE,EAAE,CACpC,KAAK;oBACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChB,CAAC,CAAC;wBACE,MAAM,SAAS,CAAC,OAAO,CAAC;4BACtB,IAAI;yBACL,CAAC;qBACH,CAAA;gBAEP,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC1C,IAAI,KAAK;oBACP,MAAM,IAAI,4BAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AA9ED,oBA8EC"}
|
package/_cjs/errors/version.js
CHANGED
package/_cjs/utils/rpc/http.js
CHANGED
@@ -8,11 +8,11 @@ const id_js_1 = require("./id.js");
|
|
8
8
|
function getHttpRpcClient(url, options = {}) {
|
9
9
|
return {
|
10
10
|
async request(params) {
|
11
|
-
const { body, fetchOptions = {}, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
|
11
|
+
const { body, fetchOptions = {}, onRequest = options.onRequest, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
|
12
12
|
const { headers, method, signal: signal_, } = { ...options.fetchOptions, ...fetchOptions };
|
13
13
|
try {
|
14
14
|
const response = await (0, withTimeout_js_1.withTimeout)(async ({ signal }) => {
|
15
|
-
const
|
15
|
+
const request = new Request(url, {
|
16
16
|
...fetchOptions,
|
17
17
|
body: Array.isArray(body)
|
18
18
|
? (0, stringify_js_1.stringify)(body.map((body) => ({
|
@@ -32,6 +32,9 @@ function getHttpRpcClient(url, options = {}) {
|
|
32
32
|
method: method || 'POST',
|
33
33
|
signal: signal_ || (timeout > 0 ? signal : null),
|
34
34
|
});
|
35
|
+
if (onRequest)
|
36
|
+
await onRequest(request);
|
37
|
+
const response = await fetch(request);
|
35
38
|
return response;
|
36
39
|
}, {
|
37
40
|
errorInstance: new request_js_1.TimeoutError({ body, url }),
|
@@ -41,12 +44,10 @@ function getHttpRpcClient(url, options = {}) {
|
|
41
44
|
if (onResponse)
|
42
45
|
await onResponse(response);
|
43
46
|
let data;
|
44
|
-
if (response.headers.get('Content-Type')?.startsWith('application/json'))
|
47
|
+
if (response.headers.get('Content-Type')?.startsWith('application/json'))
|
45
48
|
data = await response.json();
|
46
|
-
|
47
|
-
else {
|
49
|
+
else
|
48
50
|
data = await response.text();
|
49
|
-
}
|
50
51
|
if (!response.ok) {
|
51
52
|
throw new request_js_1.HttpRequestError({
|
52
53
|
body,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":";;;AAAA,wDAKgC;AAGhC,8DAGkC;AAClC,kDAA2C;AAC3C,mCAAiC;
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"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"}
|
@@ -9,7 +9,7 @@ import { createTransport, } from './createTransport.js';
|
|
9
9
|
export function http(
|
10
10
|
/** URL of the JSON-RPC API. Defaults to the chain's public RPC URL. */
|
11
11
|
url, config = {}) {
|
12
|
-
const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', onFetchResponse, retryDelay, } = config;
|
12
|
+
const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', onFetchRequest, onFetchResponse, retryDelay, } = config;
|
13
13
|
return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {
|
14
14
|
const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};
|
15
15
|
const retryCount = config.retryCount ?? retryCount_;
|
@@ -19,6 +19,7 @@ url, config = {}) {
|
|
19
19
|
throw new UrlRequiredError();
|
20
20
|
const rpcClient = getHttpRpcClient(url_, {
|
21
21
|
fetchOptions,
|
22
|
+
onRequest: onFetchRequest,
|
22
23
|
onResponse: onFetchResponse,
|
23
24
|
timeout,
|
24
25
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EACL,gBAAgB,GAEjB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AAClF,OAAO,EAEL,gBAAgB,GACjB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAIL,eAAe,GAChB,MAAM,sBAAsB,CAAA;AAiD7B;;GAEG;AACH,MAAM,UAAU,IAAI;AAClB,uEAAuE;AACvE,GAAwB,EACxB,SAA8B,EAAE;IAEhC,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,IAAI,GAAG,eAAe,EACtB,eAAe,EACf,UAAU,GACX,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,GAClC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAA;QACpD,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,gBAAgB,EAAE,CAAA;QAEvC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE;YACvC,YAAY;YACZ,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,OAAO,eAAe,CACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC;oBACxC,EAAE,EAAE,GAAG,GAAG,EAAE;oBACZ,IAAI;oBACJ,gBAAgB,CAAC,QAAQ;wBACvB,OAAO,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;oBACpC,CAAC;oBACD,EAAE,EAAE,CAAC,IAAkB,EAAE,EAAE,CACzB,SAAS,CAAC,OAAO,CAAC;wBAChB,IAAI;qBACL,CAAC;oBACJ,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;iBAC5B,CAAC,CAAA;gBAEF,MAAM,EAAE,GAAG,KAAK,EAAE,IAAgB,EAAE,EAAE,CACpC,KAAK;oBACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChB,CAAC,CAAC;wBACE,MAAM,SAAS,CAAC,OAAO,CAAC;4BACtB,IAAI;yBACL,CAAC;qBACH,CAAA;gBAEP,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC1C,IAAI,KAAK;oBACP,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":"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"}
|
package/_esm/errors/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = '0.0.0-main.
|
1
|
+
export const version = '0.0.0-main.20240331T211924';
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/_esm/utils/rpc/http.js
CHANGED
@@ -5,11 +5,11 @@ import { idCache } from './id.js';
|
|
5
5
|
export function getHttpRpcClient(url, options = {}) {
|
6
6
|
return {
|
7
7
|
async request(params) {
|
8
|
-
const { body, fetchOptions = {}, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
|
8
|
+
const { body, fetchOptions = {}, onRequest = options.onRequest, onResponse = options.onResponse, timeout = options.timeout ?? 10_000, } = params;
|
9
9
|
const { headers, method, signal: signal_, } = { ...options.fetchOptions, ...fetchOptions };
|
10
10
|
try {
|
11
11
|
const response = await withTimeout(async ({ signal }) => {
|
12
|
-
const
|
12
|
+
const request = new Request(url, {
|
13
13
|
...fetchOptions,
|
14
14
|
body: Array.isArray(body)
|
15
15
|
? stringify(body.map((body) => ({
|
@@ -29,6 +29,9 @@ export function getHttpRpcClient(url, options = {}) {
|
|
29
29
|
method: method || 'POST',
|
30
30
|
signal: signal_ || (timeout > 0 ? signal : null),
|
31
31
|
});
|
32
|
+
if (onRequest)
|
33
|
+
await onRequest(request);
|
34
|
+
const response = await fetch(request);
|
32
35
|
return response;
|
33
36
|
}, {
|
34
37
|
errorInstance: new TimeoutError({ body, url }),
|
@@ -38,12 +41,10 @@ export function getHttpRpcClient(url, options = {}) {
|
|
38
41
|
if (onResponse)
|
39
42
|
await onResponse(response);
|
40
43
|
let data;
|
41
|
-
if (response.headers.get('Content-Type')?.startsWith('application/json'))
|
44
|
+
if (response.headers.get('Content-Type')?.startsWith('application/json'))
|
42
45
|
data = await response.json();
|
43
|
-
|
44
|
-
else {
|
46
|
+
else
|
45
47
|
data = await response.text();
|
46
|
-
}
|
47
48
|
if (!response.ok) {
|
48
49
|
throw new HttpRequestError({
|
49
50
|
body,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,YAAY,GAEb,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAEL,WAAW,GACZ,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"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"}
|
@@ -19,9 +19,9 @@ export type HttpTransportConfig = {
|
|
19
19
|
* @link https://developer.mozilla.org/en-US/docs/Web/API/fetch
|
20
20
|
*/
|
21
21
|
fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined;
|
22
|
-
/**
|
23
|
-
|
24
|
-
|
22
|
+
/** A callback to handle the response from `fetch`. */
|
23
|
+
onFetchRequest?: HttpRpcClientOptions['onRequest'] | undefined;
|
24
|
+
/** A callback to handle the response from `fetch`. */
|
25
25
|
onFetchResponse?: HttpRpcClientOptions['onResponse'] | undefined;
|
26
26
|
/** The key of the HTTP transport. */
|
27
27
|
key?: TransportConfig['key'] | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACd,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG;IACzB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAAA;IAC1C;;;OAGG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC/D
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACd,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAA;AAE7B,MAAM,MAAM,YAAY,GAAG;IACzB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CAAA;IAC1C;;;OAGG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC/D,sDAAsD;IACtD,cAAc,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;IAC9D,sDAAsD;IACtD,eAAe,CAAC,EAAE,oBAAoB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IAChE,qCAAqC;IACrC,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;IACxC,sCAAsC;IACtC,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IAC1C,wCAAwC;IACxC,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IACtD,8CAA8C;IAC9C,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;IACtD,gEAAgE;IAChE,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;CACjD,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,CACnC,MAAM,EACN;IACE,YAAY,CAAC,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC9D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,CACF,CAAA;AAED,MAAM,MAAM,sBAAsB,GAC9B,wBAAwB,GACxB,oBAAoB,GACpB,SAAS,CAAA;AAEb;;GAEG;AACH,wBAAgB,IAAI;AAClB,uEAAuE;AACvE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,GAAE,mBAAwB,GAC/B,aAAa,CA0Ef"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "0.0.0-main.
|
1
|
+
export declare const version = "0.0.0-main.20240331T211924";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -3,14 +3,25 @@ import type { ErrorType } from '../../errors/utils.js';
|
|
3
3
|
import type { RpcRequest, RpcResponse } from '../../types/rpc.js';
|
4
4
|
import { type WithTimeoutErrorType } from '../promise/withTimeout.js';
|
5
5
|
export type HttpRpcClientOptions = {
|
6
|
+
/** Request configuration to pass to `fetch`. */
|
6
7
|
fetchOptions?: Omit<RequestInit, 'body'> | undefined;
|
8
|
+
/** A callback to handle the request. */
|
9
|
+
onRequest?: ((request: Request) => Promise<void> | void) | undefined;
|
10
|
+
/** A callback to handle the response. */
|
7
11
|
onResponse?: ((response: Response) => Promise<void> | void) | undefined;
|
12
|
+
/** The timeout (in ms) for the request. */
|
8
13
|
timeout?: number | undefined;
|
9
14
|
};
|
10
15
|
export type HttpRequestParameters<TBody extends RpcRequest | RpcRequest[] = RpcRequest> = {
|
16
|
+
/** The RPC request body. */
|
11
17
|
body: TBody;
|
18
|
+
/** Request configuration to pass to `fetch`. */
|
12
19
|
fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined;
|
20
|
+
/** A callback to handle the response. */
|
21
|
+
onRequest?: ((request: Request) => Promise<void> | void) | undefined;
|
22
|
+
/** A callback to handle the response. */
|
13
23
|
onResponse?: ((response: Response) => Promise<void> | void) | undefined;
|
24
|
+
/** The timeout (in ms) for the request. */
|
14
25
|
timeout?: HttpRpcClientOptions['timeout'] | undefined;
|
15
26
|
};
|
16
27
|
export type HttpRequestReturnType<TBody extends RpcRequest | RpcRequest[] = RpcRequest> = TBody extends RpcRequest[] ? RpcResponse[] : RpcResponse;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,IAAI,qBAAqB,EAElD,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAA;AAIlC,MAAM,MAAM,oBAAoB,GAAG;
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,IAAI,qBAAqB,EAElD,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EACL,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAA;AAIlC,MAAM,MAAM,oBAAoB,GAAG;IACjC,gDAAgD;IAChD,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IACpD,wCAAwC;IACxC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;IACpE,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;IACvE,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,GAAG,UAAU,IAClD;IACF,4BAA4B;IAC5B,IAAI,EAAE,KAAK,CAAA;IACX,gDAAgD;IAChD,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;IAC/D,yCAAyC;IACzC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;IACpE,yCAAyC;IACzC,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;IACvE,2CAA2C;IAC3C,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,qBAAqB,CAC/B,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,GAAG,UAAU,IAClD,KAAK,SAAS,UAAU,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,CAAA;AAE5D,MAAM,MAAM,oBAAoB,GAC5B,qBAAqB,GACrB,gBAAgB,GAChB,oBAAoB,GACpB,SAAS,CAAA;AAEb,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,EAC7C,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,GACnC,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAA;CACzC,CAAA;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,oBAAyB,GACjC,aAAa,CAmFf"}
|
@@ -36,9 +36,9 @@ export type HttpTransportConfig = {
|
|
36
36
|
* @link https://developer.mozilla.org/en-US/docs/Web/API/fetch
|
37
37
|
*/
|
38
38
|
fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined
|
39
|
-
/**
|
40
|
-
|
41
|
-
|
39
|
+
/** A callback to handle the response from `fetch`. */
|
40
|
+
onFetchRequest?: HttpRpcClientOptions['onRequest'] | undefined
|
41
|
+
/** A callback to handle the response from `fetch`. */
|
42
42
|
onFetchResponse?: HttpRpcClientOptions['onResponse'] | undefined
|
43
43
|
/** The key of the HTTP transport. */
|
44
44
|
key?: TransportConfig['key'] | undefined
|
@@ -78,6 +78,7 @@ export function http(
|
|
78
78
|
fetchOptions,
|
79
79
|
key = 'http',
|
80
80
|
name = 'HTTP JSON-RPC',
|
81
|
+
onFetchRequest,
|
81
82
|
onFetchResponse,
|
82
83
|
retryDelay,
|
83
84
|
} = config
|
@@ -91,6 +92,7 @@ export function http(
|
|
91
92
|
|
92
93
|
const rpcClient = getHttpRpcClient(url_, {
|
93
94
|
fetchOptions,
|
95
|
+
onRequest: onFetchRequest,
|
94
96
|
onResponse: onFetchResponse,
|
95
97
|
timeout,
|
96
98
|
})
|
package/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '0.0.0-main.
|
1
|
+
export const version = '0.0.0-main.20240331T211924'
|
package/package.json
CHANGED
package/utils/rpc/http.ts
CHANGED
@@ -14,24 +14,28 @@ import { stringify } from '../stringify.js'
|
|
14
14
|
import { idCache } from './id.js'
|
15
15
|
|
16
16
|
export type HttpRpcClientOptions = {
|
17
|
-
|
17
|
+
/** Request configuration to pass to `fetch`. */
|
18
18
|
fetchOptions?: Omit<RequestInit, 'body'> | undefined
|
19
|
-
|
19
|
+
/** A callback to handle the request. */
|
20
|
+
onRequest?: ((request: Request) => Promise<void> | void) | undefined
|
21
|
+
/** A callback to handle the response. */
|
20
22
|
onResponse?: ((response: Response) => Promise<void> | void) | undefined
|
21
|
-
|
23
|
+
/** The timeout (in ms) for the request. */
|
22
24
|
timeout?: number | undefined
|
23
25
|
}
|
24
26
|
|
25
27
|
export type HttpRequestParameters<
|
26
28
|
TBody extends RpcRequest | RpcRequest[] = RpcRequest,
|
27
29
|
> = {
|
28
|
-
|
30
|
+
/** The RPC request body. */
|
29
31
|
body: TBody
|
30
|
-
|
32
|
+
/** Request configuration to pass to `fetch`. */
|
31
33
|
fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined
|
32
|
-
|
34
|
+
/** A callback to handle the response. */
|
35
|
+
onRequest?: ((request: Request) => Promise<void> | void) | undefined
|
36
|
+
/** A callback to handle the response. */
|
33
37
|
onResponse?: ((response: Response) => Promise<void> | void) | undefined
|
34
|
-
|
38
|
+
/** The timeout (in ms) for the request. */
|
35
39
|
timeout?: HttpRpcClientOptions['timeout'] | undefined
|
36
40
|
}
|
37
41
|
|
@@ -60,6 +64,7 @@ export function getHttpRpcClient(
|
|
60
64
|
const {
|
61
65
|
body,
|
62
66
|
fetchOptions = {},
|
67
|
+
onRequest = options.onRequest,
|
63
68
|
onResponse = options.onResponse,
|
64
69
|
timeout = options.timeout ?? 10_000,
|
65
70
|
} = params
|
@@ -72,7 +77,7 @@ export function getHttpRpcClient(
|
|
72
77
|
try {
|
73
78
|
const response = await withTimeout(
|
74
79
|
async ({ signal }) => {
|
75
|
-
const
|
80
|
+
const request = new Request(url, {
|
76
81
|
...fetchOptions,
|
77
82
|
body: Array.isArray(body)
|
78
83
|
? stringify(
|
@@ -94,6 +99,8 @@ export function getHttpRpcClient(
|
|
94
99
|
method: method || 'POST',
|
95
100
|
signal: signal_ || (timeout > 0 ? signal : null),
|
96
101
|
})
|
102
|
+
if (onRequest) await onRequest(request)
|
103
|
+
const response = await fetch(request)
|
97
104
|
return response
|
98
105
|
},
|
99
106
|
{
|
@@ -108,11 +115,9 @@ export function getHttpRpcClient(
|
|
108
115
|
let data: any
|
109
116
|
if (
|
110
117
|
response.headers.get('Content-Type')?.startsWith('application/json')
|
111
|
-
)
|
118
|
+
)
|
112
119
|
data = await response.json()
|
113
|
-
|
114
|
-
data = await response.text()
|
115
|
-
}
|
120
|
+
else data = await response.text()
|
116
121
|
|
117
122
|
if (!response.ok) {
|
118
123
|
throw new HttpRequestError({
|