@helia/delegated-routing-v1-http-api-client 5.1.2 → 5.1.4
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/index.min.js +11 -7
- package/dist/index.min.js.map +3 -3
- package/dist/src/client.d.ts +2 -0
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +40 -5
- package/dist/src/client.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +50 -6
package/dist/src/client.d.ts
CHANGED
|
@@ -35,5 +35,7 @@ export declare class DelegatedRoutingV1HttpApiClient implements DelegatedRouting
|
|
|
35
35
|
getIPNS(libp2pKey: CID<unknown, 0x72, 0x00 | 0x12, 1>, options?: GetIPNSOptions): Promise<IPNSRecord>;
|
|
36
36
|
putIPNS(libp2pKey: CID<unknown, 0x72, 0x00 | 0x12, 1>, record: IPNSRecord, options?: AbortOptions): Promise<void>;
|
|
37
37
|
toString(): string;
|
|
38
|
+
private logRequest;
|
|
39
|
+
private logResponse;
|
|
38
40
|
}
|
|
39
41
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,oBAAoB,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AAY3G,OAAO,KAAK,EAAE,+BAA+B,IAAI,wCAAwC,EAAE,mCAAmC,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,yCAAyC,EAAE,MAAM,YAAY,CAAA;AAC/P,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAU,MAAM,mBAAmB,CAAA;AAElG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AASvC,qBAAa,+BAAgC,YAAW,wCAAwC;;IAC9F,SAAgB,GAAG,EAAE,GAAG,CAAA;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,KAAK,CAAC,CAAO;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,GAAG,CAAQ;IAEnB;;OAEG;gBACU,UAAU,EAAE,yCAAyC,EAAE,IAAI,EAAE,mCAAmC,GAAG;QAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAoBrI,IAAI,CAAC,oBAAoB,CAAC,IAAK,cAAc,CAE5C;IAED,IAAI,CAAC,iBAAiB,CAAC,IAAK,WAAW,CAEtC;IAED,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAgBvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAUpB,YAAY,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,mBAAwB,GAAG,cAAc,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,oBAAoB,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AAY3G,OAAO,KAAK,EAAE,+BAA+B,IAAI,wCAAwC,EAAE,mCAAmC,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,yCAAyC,EAAE,MAAM,YAAY,CAAA;AAC/P,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAU,MAAM,mBAAmB,CAAA;AAElG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AASvC,qBAAa,+BAAgC,YAAW,wCAAwC;;IAC9F,SAAgB,GAAG,EAAE,GAAG,CAAA;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,KAAK,CAAC,CAAO;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,GAAG,CAAQ;IAEnB;;OAEG;gBACU,UAAU,EAAE,yCAAyC,EAAE,IAAI,EAAE,mCAAmC,GAAG;QAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;IAoBrI,IAAI,CAAC,oBAAoB,CAAC,IAAK,cAAc,CAE5C;IAED,IAAI,CAAC,iBAAiB,CAAC,IAAK,WAAW,CAEtC;IAED,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAgBvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAUpB,YAAY,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,mBAAwB,GAAG,cAAc,CAAC,UAAU,CAAC;IA8FtF,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,cAAc,CAAC,UAAU,CAAC;IAsEtF,OAAO,CAAE,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAwE1G,OAAO,CAAE,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4J5H,QAAQ,IAAK,MAAM;IAInB,OAAO,CAAC,UAAU;IASlB,OAAO,CAAC,WAAW;CAOpB"}
|
package/dist/src/client.js
CHANGED
|
@@ -87,6 +87,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
87
87
|
setMaxListeners(Infinity, timeoutSignal, signal);
|
|
88
88
|
const onStart = defer();
|
|
89
89
|
const onFinish = defer();
|
|
90
|
+
let found = 0;
|
|
90
91
|
void this.httpQueue.add(async () => {
|
|
91
92
|
onStart.resolve();
|
|
92
93
|
return onFinish.promise;
|
|
@@ -96,7 +97,12 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
96
97
|
// https://specs.ipfs.tech/routing/http-routing-v1/
|
|
97
98
|
const url = new URL(`${this.url}routing/v1/providers/${cid}`);
|
|
98
99
|
this.#addFilterParams(url, options.filterAddrs, options.filterProtocols);
|
|
99
|
-
const getOptions = {
|
|
100
|
+
const getOptions = {
|
|
101
|
+
headers: {
|
|
102
|
+
accept: 'application/x-ndjson, application/json;q=0.8'
|
|
103
|
+
},
|
|
104
|
+
signal
|
|
105
|
+
};
|
|
100
106
|
const res = await this.#makeRequest(url.toString(), getOptions);
|
|
101
107
|
if (!res.ok) {
|
|
102
108
|
// Per IPIP-0513: Handle 404 as empty results (not an error)
|
|
@@ -113,13 +119,18 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
113
119
|
}
|
|
114
120
|
throw new BadResponseError(`Unexpected status code: ${res.status}`);
|
|
115
121
|
}
|
|
116
|
-
if (res.body == null) {
|
|
117
|
-
throw new BadResponseError('Routing response had no body');
|
|
118
|
-
}
|
|
119
122
|
const contentType = res.headers.get('Content-Type');
|
|
120
123
|
if (contentType == null) {
|
|
121
124
|
throw new BadResponseError('No Content-Type header received');
|
|
122
125
|
}
|
|
126
|
+
if (res.body == null) {
|
|
127
|
+
if (contentType !== 'application/x-ndjson') {
|
|
128
|
+
throw new BadResponseError('Routing response had no body');
|
|
129
|
+
}
|
|
130
|
+
// cached ndjson responses have no body property if the gateway returned
|
|
131
|
+
// no results
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
123
134
|
if (contentType.startsWith('application/json')) {
|
|
124
135
|
const body = await res.json();
|
|
125
136
|
// Handle null/undefined Providers from servers (both old and new may return empty arrays)
|
|
@@ -127,6 +138,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
127
138
|
for (const provider of providers) {
|
|
128
139
|
const record = this.#conformToPeerSchema(provider);
|
|
129
140
|
if (record != null) {
|
|
141
|
+
found++;
|
|
130
142
|
yield record;
|
|
131
143
|
}
|
|
132
144
|
}
|
|
@@ -135,6 +147,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
135
147
|
for await (const provider of ndjson(toIt(res.body))) {
|
|
136
148
|
const record = this.#conformToPeerSchema(provider);
|
|
137
149
|
if (record != null) {
|
|
150
|
+
found++;
|
|
138
151
|
yield record;
|
|
139
152
|
}
|
|
140
153
|
}
|
|
@@ -146,7 +159,7 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
146
159
|
finally {
|
|
147
160
|
signal.clear();
|
|
148
161
|
onFinish.resolve();
|
|
149
|
-
this.log('getProviders finished
|
|
162
|
+
this.log('getProviders finished found %d providers for %c', found, cid);
|
|
150
163
|
}
|
|
151
164
|
}
|
|
152
165
|
async *getPeers(peerId, options = {}) {
|
|
@@ -356,13 +369,18 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
356
369
|
const expires = parseInt(cachedResponse.headers.get('x-cache-expires') ?? '0', 10);
|
|
357
370
|
if (expires > Date.now()) {
|
|
358
371
|
this.log('returning cached response for %s', key);
|
|
372
|
+
this.logResponse(cachedResponse);
|
|
359
373
|
return cachedResponse;
|
|
360
374
|
}
|
|
361
375
|
else {
|
|
376
|
+
this.log('evicting cached response for %s', key);
|
|
362
377
|
// Remove expired response from cache
|
|
363
378
|
await this.cache?.delete(url);
|
|
364
379
|
}
|
|
365
380
|
}
|
|
381
|
+
else if (this.cache != null) {
|
|
382
|
+
this.log('cache miss for %s', key);
|
|
383
|
+
}
|
|
366
384
|
}
|
|
367
385
|
// Check if there's already an in-flight request for this URL
|
|
368
386
|
const existingRequest = this.inFlightRequests.get(key);
|
|
@@ -371,8 +389,12 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
371
389
|
this.log('deduplicating outgoing request for %s', key);
|
|
372
390
|
return response.clone();
|
|
373
391
|
}
|
|
392
|
+
this.log('outgoing request:');
|
|
393
|
+
this.logRequest(url, options);
|
|
374
394
|
// Create new request and track it
|
|
375
395
|
const requestPromise = fetch(url, options).then(async (response) => {
|
|
396
|
+
this.log('incoming response:');
|
|
397
|
+
this.logResponse(response);
|
|
376
398
|
// Only cache successful GET requests
|
|
377
399
|
if (this.cache != null && response.ok && requestMethod === 'GET') {
|
|
378
400
|
const expires = Date.now() + this.cacheTTL;
|
|
@@ -398,5 +420,18 @@ export class DelegatedRoutingV1HttpApiClient {
|
|
|
398
420
|
toString() {
|
|
399
421
|
return `DefaultDelegatedRoutingV1HttpApiClient(${this.url})`;
|
|
400
422
|
}
|
|
423
|
+
logRequest(url, init) {
|
|
424
|
+
const headers = new Headers(init.headers);
|
|
425
|
+
this.log('%s %s HTTP/1.1', init.method ?? 'GET', url);
|
|
426
|
+
for (const [key, value] of headers.entries()) {
|
|
427
|
+
this.log('%s: %s', key, value);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
logResponse(response) {
|
|
431
|
+
this.log('HTTP/1.1 %d %s', response.status, response.statusText);
|
|
432
|
+
for (const [key, value] of response.headers.entries()) {
|
|
433
|
+
this.log('%s: %s', key, value);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
401
436
|
}
|
|
402
437
|
//# sourceMappingURL=client.js.map
|
package/dist/src/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": "@helia/delegated-routing-v1-http-api-client",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.4",
|
|
4
4
|
"description": "A Delegated Routing V1 HTTP API client",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia-delegated-routing-v1-http-api/tree/main/packages/client#readme",
|
package/src/client.ts
CHANGED
|
@@ -108,6 +108,7 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
108
108
|
setMaxListeners(Infinity, timeoutSignal, signal)
|
|
109
109
|
const onStart = defer()
|
|
110
110
|
const onFinish = defer()
|
|
111
|
+
let found = 0
|
|
111
112
|
|
|
112
113
|
void this.httpQueue.add(async () => {
|
|
113
114
|
onStart.resolve()
|
|
@@ -121,7 +122,12 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
121
122
|
const url = new URL(`${this.url}routing/v1/providers/${cid}`)
|
|
122
123
|
|
|
123
124
|
this.#addFilterParams(url, options.filterAddrs, options.filterProtocols)
|
|
124
|
-
const getOptions = {
|
|
125
|
+
const getOptions = {
|
|
126
|
+
headers: {
|
|
127
|
+
accept: 'application/x-ndjson, application/json;q=0.8'
|
|
128
|
+
},
|
|
129
|
+
signal
|
|
130
|
+
}
|
|
125
131
|
const res = await this.#makeRequest(url.toString(), getOptions)
|
|
126
132
|
|
|
127
133
|
if (!res.ok) {
|
|
@@ -142,15 +148,22 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
142
148
|
throw new BadResponseError(`Unexpected status code: ${res.status}`)
|
|
143
149
|
}
|
|
144
150
|
|
|
145
|
-
if (res.body == null) {
|
|
146
|
-
throw new BadResponseError('Routing response had no body')
|
|
147
|
-
}
|
|
148
|
-
|
|
149
151
|
const contentType = res.headers.get('Content-Type')
|
|
152
|
+
|
|
150
153
|
if (contentType == null) {
|
|
151
154
|
throw new BadResponseError('No Content-Type header received')
|
|
152
155
|
}
|
|
153
156
|
|
|
157
|
+
if (res.body == null) {
|
|
158
|
+
if (contentType !== 'application/x-ndjson') {
|
|
159
|
+
throw new BadResponseError('Routing response had no body')
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// cached ndjson responses have no body property if the gateway returned
|
|
163
|
+
// no results
|
|
164
|
+
return
|
|
165
|
+
}
|
|
166
|
+
|
|
154
167
|
if (contentType.startsWith('application/json')) {
|
|
155
168
|
const body = await res.json()
|
|
156
169
|
// Handle null/undefined Providers from servers (both old and new may return empty arrays)
|
|
@@ -159,6 +172,7 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
159
172
|
for (const provider of providers) {
|
|
160
173
|
const record = this.#conformToPeerSchema(provider)
|
|
161
174
|
if (record != null) {
|
|
175
|
+
found++
|
|
162
176
|
yield record
|
|
163
177
|
}
|
|
164
178
|
}
|
|
@@ -166,6 +180,7 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
166
180
|
for await (const provider of ndjson(toIt(res.body))) {
|
|
167
181
|
const record = this.#conformToPeerSchema(provider)
|
|
168
182
|
if (record != null) {
|
|
183
|
+
found++
|
|
169
184
|
yield record
|
|
170
185
|
}
|
|
171
186
|
}
|
|
@@ -175,7 +190,7 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
175
190
|
} finally {
|
|
176
191
|
signal.clear()
|
|
177
192
|
onFinish.resolve()
|
|
178
|
-
this.log('getProviders finished
|
|
193
|
+
this.log('getProviders finished found %d providers for %c', found, cid)
|
|
179
194
|
}
|
|
180
195
|
}
|
|
181
196
|
|
|
@@ -416,16 +431,22 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
416
431
|
// Only try to use cache for GET requests
|
|
417
432
|
if (requestMethod === 'GET') {
|
|
418
433
|
const cachedResponse = await this.cache?.match(url)
|
|
434
|
+
|
|
419
435
|
if (cachedResponse != null) {
|
|
420
436
|
// Check if the cached response has expired
|
|
421
437
|
const expires = parseInt(cachedResponse.headers.get('x-cache-expires') ?? '0', 10)
|
|
422
438
|
if (expires > Date.now()) {
|
|
423
439
|
this.log('returning cached response for %s', key)
|
|
440
|
+
this.logResponse(cachedResponse)
|
|
441
|
+
|
|
424
442
|
return cachedResponse
|
|
425
443
|
} else {
|
|
444
|
+
this.log('evicting cached response for %s', key)
|
|
426
445
|
// Remove expired response from cache
|
|
427
446
|
await this.cache?.delete(url)
|
|
428
447
|
}
|
|
448
|
+
} else if (this.cache != null) {
|
|
449
|
+
this.log('cache miss for %s', key)
|
|
429
450
|
}
|
|
430
451
|
}
|
|
431
452
|
|
|
@@ -437,8 +458,14 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
437
458
|
return response.clone()
|
|
438
459
|
}
|
|
439
460
|
|
|
461
|
+
this.log('outgoing request:')
|
|
462
|
+
this.logRequest(url, options)
|
|
463
|
+
|
|
440
464
|
// Create new request and track it
|
|
441
465
|
const requestPromise = fetch(url, options).then(async response => {
|
|
466
|
+
this.log('incoming response:')
|
|
467
|
+
this.logResponse(response)
|
|
468
|
+
|
|
442
469
|
// Only cache successful GET requests
|
|
443
470
|
if (this.cache != null && response.ok && requestMethod === 'GET') {
|
|
444
471
|
const expires = Date.now() + this.cacheTTL
|
|
@@ -468,4 +495,21 @@ export class DelegatedRoutingV1HttpApiClient implements DelegatedRoutingV1HttpAp
|
|
|
468
495
|
toString (): string {
|
|
469
496
|
return `DefaultDelegatedRoutingV1HttpApiClient(${this.url})`
|
|
470
497
|
}
|
|
498
|
+
|
|
499
|
+
private logRequest (url: string, init: RequestInit): void {
|
|
500
|
+
const headers = new Headers(init.headers)
|
|
501
|
+
this.log('%s %s HTTP/1.1', init.method ?? 'GET', url)
|
|
502
|
+
|
|
503
|
+
for (const [key, value] of headers.entries()) {
|
|
504
|
+
this.log('%s: %s', key, value)
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
private logResponse (response: Response): void {
|
|
509
|
+
this.log('HTTP/1.1 %d %s', response.status, response.statusText)
|
|
510
|
+
|
|
511
|
+
for (const [key, value] of response.headers.entries()) {
|
|
512
|
+
this.log('%s: %s', key, value)
|
|
513
|
+
}
|
|
514
|
+
}
|
|
471
515
|
}
|