@helia/block-brokers 5.0.10 → 5.0.11-e27aa2de
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 +9 -1
- package/dist/index.min.js.map +3 -3
- package/dist/src/trustless-gateway/trustless-gateway.d.ts +1 -0
- package/dist/src/trustless-gateway/trustless-gateway.d.ts.map +1 -1
- package/dist/src/trustless-gateway/trustless-gateway.js +15 -4
- package/dist/src/trustless-gateway/trustless-gateway.js.map +1 -1
- package/package.json +5 -5
- package/src/trustless-gateway/trustless-gateway.ts +19 -5
- package/dist/typedoc-urls.json +0 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trustless-gateway.d.ts","sourceRoot":"","sources":["../../../src/trustless-gateway/trustless-gateway.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAA;CAClE;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,eAAe,CAAA;IACvB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;CAC5C;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;;IAC3B,SAAgB,GAAG,EAAE,GAAG,CAAA;IAoCxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAsB;gBAE/C,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,0BAA0B;IAoB5F;;;OAGG;IACG,WAAW,CAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,OAA0B,EAAE,GAAE,kBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"trustless-gateway.d.ts","sourceRoot":"","sources":["../../../src/trustless-gateway/trustless-gateway.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,CAAC,cAAc,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAA;CAClE;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,eAAe,CAAA;IACvB,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;CAC5C;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAA;IAEpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;;IAC3B,SAAgB,GAAG,EAAE,GAAG,CAAA;IAoCxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAsB;gBAE/C,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,EAAE,0BAA0B;IAoB5F;;;OAGG;IACG,WAAW,CAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,OAA0B,EAAE,GAAE,kBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC;IA0ElH;;;;;;;OAOG;IACH,WAAW,IAAK,MAAM;IAyBtB;;OAEG;IACH,sBAAsB,IAAK,IAAI;IAI/B,QAAQ,IAAK,qBAAqB;IAUlC,QAAQ,IAAK,MAAM;CAGpB"}
|
|
@@ -91,11 +91,19 @@ export class TrustlessGateway {
|
|
|
91
91
|
cache: 'force-cache'
|
|
92
92
|
};
|
|
93
93
|
const reqInit = this.transformRequestInit != null ? await this.transformRequestInit(defaultReqInit) : defaultReqInit;
|
|
94
|
+
const headers = new Headers(reqInit.headers);
|
|
95
|
+
this.log(`sending request
|
|
96
|
+
%s %s HTTP/1.1
|
|
97
|
+
%s
|
|
98
|
+
`, reqInit.method ?? 'GET', gwUrl, [...headers.entries()].map(([key, value]) => `${key}: ${value}`).join('\n'));
|
|
94
99
|
pendingResponse = fetch(gwUrl.toString(), reqInit).then(async (res) => {
|
|
95
|
-
this.log(
|
|
100
|
+
this.log(`received response
|
|
101
|
+
HTTP/1.1 %d %s
|
|
102
|
+
%s
|
|
103
|
+
`, res.status, res.statusText, [...res.headers.entries()].map(([key, value]) => `${key}: ${value}`).join('\n'));
|
|
96
104
|
if (!res.ok) {
|
|
97
105
|
this.#errors++;
|
|
98
|
-
throw new Error(`
|
|
106
|
+
throw new Error(`Unable to fetch raw block for CID ${cid} from gateway ${this.url}, recieved ${res.status} ${res.statusText}`);
|
|
99
107
|
}
|
|
100
108
|
// limited Response ensures the body is less than 2MiB (or configurable maxSize)
|
|
101
109
|
// see https://github.com/ipfs/helia/issues/790
|
|
@@ -111,10 +119,10 @@ export class TrustlessGateway {
|
|
|
111
119
|
// @ts-expect-error - TS thinks signal?.aborted can only be false now
|
|
112
120
|
// because it was checked for true above.
|
|
113
121
|
if (signal?.aborted === true) {
|
|
114
|
-
throw new Error(`
|
|
122
|
+
throw new Error(`Fetching raw block for CID ${cid} from gateway ${this.url} was aborted`);
|
|
115
123
|
}
|
|
116
124
|
this.#errors++;
|
|
117
|
-
throw new Error(`
|
|
125
|
+
throw new Error(`Unable to fetch raw block for CID ${cid} - ${cause.message}`);
|
|
118
126
|
}
|
|
119
127
|
finally {
|
|
120
128
|
signal?.removeEventListener('abort', abortInnerSignal);
|
|
@@ -166,5 +174,8 @@ export class TrustlessGateway {
|
|
|
166
174
|
pendingResponses: this.#pendingResponses.size
|
|
167
175
|
};
|
|
168
176
|
}
|
|
177
|
+
toString() {
|
|
178
|
+
return `TrustlessGateway(${this.url})`;
|
|
179
|
+
}
|
|
169
180
|
}
|
|
170
181
|
//# sourceMappingURL=trustless-gateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trustless-gateway.js","sourceRoot":"","sources":["../../../src/trustless-gateway/trustless-gateway.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"trustless-gateway.js","sourceRoot":"","sources":["../../../src/trustless-gateway/trustless-gateway.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/block-brokers",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.11-e27aa2de",
|
|
4
4
|
"description": "Block brokers for Helia",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia/tree/main/packages/block-brokers#readme",
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"test:electron-main": "aegir test -t electron-main"
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@helia/bitswap": "
|
|
51
|
-
"@helia/interface": "
|
|
52
|
-
"@helia/utils": "
|
|
50
|
+
"@helia/bitswap": "3.0.11-e27aa2de",
|
|
51
|
+
"@helia/interface": "6.0.2-e27aa2de",
|
|
52
|
+
"@helia/utils": "2.3.1-e27aa2de",
|
|
53
53
|
"@libp2p/interface": "^3.1.0",
|
|
54
54
|
"@libp2p/utils": "^7.0.5",
|
|
55
55
|
"@multiformats/multiaddr": "^13.0.1",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"@libp2p/peer-id": "^6.0.3",
|
|
68
68
|
"@multiformats/uri-to-multiaddr": "^10.0.0",
|
|
69
69
|
"@types/polka": "^0.5.7",
|
|
70
|
-
"@types/sinon": "^
|
|
70
|
+
"@types/sinon": "^21.0.0",
|
|
71
71
|
"aegir": "^47.0.22",
|
|
72
72
|
"cors": "^2.8.5",
|
|
73
73
|
"polka": "^0.5.2",
|
|
@@ -137,11 +137,21 @@ export class TrustlessGateway {
|
|
|
137
137
|
|
|
138
138
|
const reqInit: RequestInit = this.transformRequestInit != null ? await this.transformRequestInit(defaultReqInit) : defaultReqInit
|
|
139
139
|
|
|
140
|
+
const headers = new Headers(reqInit.headers)
|
|
141
|
+
this.log(`sending request
|
|
142
|
+
%s %s HTTP/1.1
|
|
143
|
+
%s
|
|
144
|
+
`, reqInit.method ?? 'GET', gwUrl, [...headers.entries()].map(([key, value]) => `${key}: ${value}`).join('\n'))
|
|
145
|
+
|
|
140
146
|
pendingResponse = fetch(gwUrl.toString(), reqInit).then(async (res) => {
|
|
141
|
-
this.log(
|
|
147
|
+
this.log(`received response
|
|
148
|
+
HTTP/1.1 %d %s
|
|
149
|
+
%s
|
|
150
|
+
`, res.status, res.statusText, [...res.headers.entries()].map(([key, value]) => `${key}: ${value}`).join('\n'))
|
|
151
|
+
|
|
142
152
|
if (!res.ok) {
|
|
143
153
|
this.#errors++
|
|
144
|
-
throw new Error(`
|
|
154
|
+
throw new Error(`Unable to fetch raw block for CID ${cid} from gateway ${this.url}, recieved ${res.status} ${res.statusText}`)
|
|
145
155
|
}
|
|
146
156
|
// limited Response ensures the body is less than 2MiB (or configurable maxSize)
|
|
147
157
|
// see https://github.com/ipfs/helia/issues/790
|
|
@@ -152,14 +162,14 @@ export class TrustlessGateway {
|
|
|
152
162
|
this.#pendingResponses.set(blockId, pendingResponse)
|
|
153
163
|
}
|
|
154
164
|
return await pendingResponse
|
|
155
|
-
} catch (cause) {
|
|
165
|
+
} catch (cause: any) {
|
|
156
166
|
// @ts-expect-error - TS thinks signal?.aborted can only be false now
|
|
157
167
|
// because it was checked for true above.
|
|
158
168
|
if (signal?.aborted === true) {
|
|
159
|
-
throw new Error(`
|
|
169
|
+
throw new Error(`Fetching raw block for CID ${cid} from gateway ${this.url} was aborted`)
|
|
160
170
|
}
|
|
161
171
|
this.#errors++
|
|
162
|
-
throw new Error(`
|
|
172
|
+
throw new Error(`Unable to fetch raw block for CID ${cid} - ${cause.message}`)
|
|
163
173
|
} finally {
|
|
164
174
|
signal?.removeEventListener('abort', abortInnerSignal)
|
|
165
175
|
this.#pendingResponses.delete(blockId)
|
|
@@ -215,4 +225,8 @@ export class TrustlessGateway {
|
|
|
215
225
|
pendingResponses: this.#pendingResponses.size
|
|
216
226
|
}
|
|
217
227
|
}
|
|
228
|
+
|
|
229
|
+
toString (): string {
|
|
230
|
+
return `TrustlessGateway(${this.url})`
|
|
231
|
+
}
|
|
218
232
|
}
|
package/dist/typedoc-urls.json
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"BitswapBlockBrokerComponents": "https://ipfs.github.io/helia/interfaces/_helia_block-brokers.BitswapBlockBrokerComponents.html",
|
|
3
|
-
"BitswapBlockBrokerInit": "https://ipfs.github.io/helia/interfaces/_helia_block-brokers.BitswapBlockBrokerInit.html",
|
|
4
|
-
"TrustlessGatewayBlockBrokerComponents": "https://ipfs.github.io/helia/interfaces/_helia_block-brokers.TrustlessGatewayBlockBrokerComponents.html",
|
|
5
|
-
"TrustlessGatewayBlockBrokerInit": "https://ipfs.github.io/helia/interfaces/_helia_block-brokers.TrustlessGatewayBlockBrokerInit.html",
|
|
6
|
-
"TrustlessGatewayProvider": "https://ipfs.github.io/helia/interfaces/_helia_block-brokers.TrustlessGatewayProvider.html",
|
|
7
|
-
"TrustlessGatewayGetBlockProgressEvents": "https://ipfs.github.io/helia/types/_helia_block-brokers.TrustlessGatewayGetBlockProgressEvents.html",
|
|
8
|
-
"bitswap": "https://ipfs.github.io/helia/functions/_helia_block-brokers.bitswap.html",
|
|
9
|
-
"trustlessGateway": "https://ipfs.github.io/helia/functions/_helia_block-brokers.trustlessGateway.html"
|
|
10
|
-
}
|