@helia/verified-fetch 4.0.1 → 4.0.2
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 +41 -41
- package/dist/index.min.js.map +4 -4
- package/dist/src/index.d.ts +4 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/plugins/plugin-handle-dag-cbor-html-preview.d.ts +3 -3
- package/dist/src/plugins/plugin-handle-dag-cbor-html-preview.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-dag-cbor-html-preview.js +5 -5
- package/dist/src/plugins/plugin-handle-dag-cbor-html-preview.js.map +1 -1
- package/dist/src/plugins/plugin-handle-dag-pb.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-dag-pb.js +22 -24
- package/dist/src/plugins/plugin-handle-dag-pb.js.map +1 -1
- package/dist/src/plugins/plugin-handle-ipns-record.d.ts +1 -1
- package/dist/src/plugins/plugin-handle-ipns-record.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-ipns-record.js +2 -2
- package/dist/src/plugins/plugin-handle-ipns-record.js.map +1 -1
- package/dist/src/plugins/plugin-handle-raw.js +1 -1
- package/dist/src/plugins/plugin-handle-raw.js.map +1 -1
- package/dist/src/plugins/types.d.ts +1 -4
- package/dist/src/plugins/types.d.ts.map +1 -1
- package/dist/src/url-resolver.d.ts +4 -3
- package/dist/src/url-resolver.d.ts.map +1 -1
- package/dist/src/url-resolver.js +35 -47
- package/dist/src/url-resolver.js.map +1 -1
- package/dist/src/utils/dnslink-label.d.ts +26 -0
- package/dist/src/utils/dnslink-label.d.ts.map +1 -0
- package/dist/src/utils/dnslink-label.js +35 -0
- package/dist/src/utils/dnslink-label.js.map +1 -0
- package/dist/src/utils/get-content-type.d.ts +1 -1
- package/dist/src/utils/get-content-type.d.ts.map +1 -1
- package/dist/src/utils/get-content-type.js +1 -1
- package/dist/src/utils/get-content-type.js.map +1 -1
- package/dist/src/utils/get-stream-from-async-iterable.d.ts +1 -2
- package/dist/src/utils/get-stream-from-async-iterable.d.ts.map +1 -1
- package/dist/src/utils/get-stream-from-async-iterable.js +1 -3
- package/dist/src/utils/get-stream-from-async-iterable.js.map +1 -1
- package/dist/src/utils/handle-redirects.js +2 -2
- package/dist/src/utils/ipfs-path-to-url.d.ts +16 -0
- package/dist/src/utils/ipfs-path-to-url.d.ts.map +1 -0
- package/dist/src/utils/ipfs-path-to-url.js +45 -0
- package/dist/src/utils/ipfs-path-to-url.js.map +1 -0
- package/dist/src/utils/parse-url-string.d.ts +18 -5
- package/dist/src/utils/parse-url-string.d.ts.map +1 -1
- package/dist/src/utils/parse-url-string.js +126 -44
- package/dist/src/utils/parse-url-string.js.map +1 -1
- package/dist/src/utils/resource-to-cache-key.js +2 -2
- package/dist/src/utils/responses.d.ts.map +1 -1
- package/dist/src/utils/responses.js +4 -0
- package/dist/src/utils/responses.js.map +1 -1
- package/dist/src/utils/walk-path.js +1 -1
- package/dist/src/utils/walk-path.js.map +1 -1
- package/package.json +10 -10
- package/src/index.ts +4 -2
- package/src/plugins/plugin-handle-dag-cbor-html-preview.ts +8 -8
- package/src/plugins/plugin-handle-dag-pb.ts +27 -23
- package/src/plugins/plugin-handle-ipns-record.ts +2 -2
- package/src/plugins/plugin-handle-raw.ts +1 -1
- package/src/plugins/types.ts +1 -4
- package/src/url-resolver.ts +37 -56
- package/src/utils/dnslink-label.ts +38 -0
- package/src/utils/get-content-type.ts +2 -2
- package/src/utils/get-stream-from-async-iterable.ts +1 -4
- package/src/utils/handle-redirects.ts +2 -2
- package/src/utils/ipfs-path-to-url.ts +54 -0
- package/src/utils/parse-url-string.ts +166 -49
- package/src/utils/resource-to-cache-key.ts +2 -2
- package/src/utils/responses.ts +6 -0
- package/src/utils/walk-path.ts +1 -1
package/dist/src/index.d.ts
CHANGED
|
@@ -841,7 +841,7 @@ export interface ResourceDetail {
|
|
|
841
841
|
}
|
|
842
842
|
export interface CIDDetail {
|
|
843
843
|
cid: CID;
|
|
844
|
-
path?: string;
|
|
844
|
+
path?: string[];
|
|
845
845
|
}
|
|
846
846
|
export interface CIDDetailError extends CIDDetail {
|
|
847
847
|
error: Error;
|
|
@@ -1021,10 +1021,12 @@ export interface UrlQuery extends Record<string, string | unknown> {
|
|
|
1021
1021
|
'dag-scope'?: string;
|
|
1022
1022
|
}
|
|
1023
1023
|
export interface ResolveURLResult {
|
|
1024
|
+
url: URL;
|
|
1024
1025
|
cid: CID;
|
|
1025
1026
|
protocol: string;
|
|
1026
1027
|
ttl: number;
|
|
1027
|
-
path: string;
|
|
1028
|
+
path: string[];
|
|
1029
|
+
fragment: string;
|
|
1028
1030
|
query: UrlQuery;
|
|
1029
1031
|
ipfsPath: string;
|
|
1030
1032
|
}
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsyBG;AAEH,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,qCAAqC,EAAE,MAAM,6CAA6C,CAAA;AACnG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,13 +15,13 @@ export declare class DagCborHtmlPreviewPlugin extends BasePlugin {
|
|
|
15
15
|
};
|
|
16
16
|
}): Promise<Response>;
|
|
17
17
|
getHtml({ path, obj, cid }: {
|
|
18
|
-
path?: string;
|
|
18
|
+
path?: string[];
|
|
19
19
|
obj: Record<string, any>;
|
|
20
20
|
cid: CID;
|
|
21
21
|
}): string;
|
|
22
|
-
valueHTML(value: any, link: string
|
|
22
|
+
valueHTML(value: any, link: string[]): string;
|
|
23
23
|
private renderValue;
|
|
24
|
-
renderRows(obj: Record<string, any>, currentPath?: string): string;
|
|
24
|
+
renderRows(obj: Record<string, any>, currentPath?: string[]): string;
|
|
25
25
|
}
|
|
26
26
|
export declare const dagCborHtmlPreviewPluginFactory: VerifiedFetchPluginFactory;
|
|
27
27
|
//# sourceMappingURL=plugin-handle-dag-cbor-html-preview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-dag-cbor-html-preview.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-dag-cbor-html-preview.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAMtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAmCtD;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,QAAQ,CAAC,EAAE,kCAAiC;IAC5C,QAAQ,CAAC,KAAK,QAAqB;IAEnC,SAAS,CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,aAAa,GAAG,OAAO;IAoB1D,MAAM,CAAE,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAAC,GAAG;QAAE,WAAW,EAAE;YAAE,eAAe,EAAE,UAAU,CAAA;SAAE,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4B/K,OAAO,CAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"plugin-handle-dag-cbor-html-preview.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-dag-cbor-html-preview.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAMtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAmCtD;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU;IACtD,QAAQ,CAAC,EAAE,kCAAiC;IAC5C,QAAQ,CAAC,KAAK,QAAqB;IAEnC,SAAS,CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,aAAa,GAAG,OAAO;IAoB1D,MAAM,CAAE,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAAC,GAAG;QAAE,WAAW,EAAE;YAAE,eAAe,EAAE,UAAU,CAAA;SAAE,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IA4B/K,OAAO,CAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,GAAG,EAAE,GAAG,CAAA;KAAE,GAAG,MAAM;IAgJ7F,SAAS,CAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM;IAiB9C,OAAO,CAAC,WAAW;IAgBnB,UAAU,CAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,WAAW,GAAE,MAAM,EAAO,GAAG,MAAM;CAe1E;AAED,eAAO,MAAM,+BAA+B,EAAE,0BAAyE,CAAA"}
|
|
@@ -206,7 +206,7 @@ export class DagCborHtmlPreviewPlugin extends BasePlugin {
|
|
|
206
206
|
<main>
|
|
207
207
|
<header>
|
|
208
208
|
<div><strong>CID: </strong> <code class="nowrap">${cid}</code></div>
|
|
209
|
-
<div><strong>Codec: </strong> ${this.valueHTML('dag-cbor (0x71)',
|
|
209
|
+
<div><strong>Codec: </strong> ${this.valueHTML('dag-cbor (0x71)', [])}</div>
|
|
210
210
|
</header>
|
|
211
211
|
<section class="container">
|
|
212
212
|
<p>You can download this block as:</p>
|
|
@@ -245,8 +245,8 @@ export class DagCborHtmlPreviewPlugin extends BasePlugin {
|
|
|
245
245
|
renderValue(key, value, currentPath) {
|
|
246
246
|
let rows = '';
|
|
247
247
|
value.forEach((item, idx) => {
|
|
248
|
-
const itemPath = currentPath
|
|
249
|
-
rows += `<div>${this.valueHTML(idx,
|
|
248
|
+
const itemPath = [...currentPath, key, idx.toString()];
|
|
249
|
+
rows += `<div>${this.valueHTML(idx, [])}</div>`;
|
|
250
250
|
if (isPrimitive(item)) {
|
|
251
251
|
rows += `<div>${this.valueHTML(item, itemPath)}</div>`;
|
|
252
252
|
}
|
|
@@ -258,7 +258,7 @@ export class DagCborHtmlPreviewPlugin extends BasePlugin {
|
|
|
258
258
|
});
|
|
259
259
|
return rows;
|
|
260
260
|
}
|
|
261
|
-
renderRows(obj, currentPath =
|
|
261
|
+
renderRows(obj, currentPath = []) {
|
|
262
262
|
let rows = '';
|
|
263
263
|
for (const [key, value] of Object.entries(obj)) {
|
|
264
264
|
if (Array.isArray(value)) {
|
|
@@ -268,7 +268,7 @@ export class DagCborHtmlPreviewPlugin extends BasePlugin {
|
|
|
268
268
|
rows += '</div>';
|
|
269
269
|
}
|
|
270
270
|
else {
|
|
271
|
-
const valuePath = currentPath
|
|
271
|
+
const valuePath = [...currentPath, key];
|
|
272
272
|
rows += `<div>${key}</div><div>${this.valueHTML(value, valuePath)}</div>`;
|
|
273
273
|
}
|
|
274
274
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-dag-cbor-html-preview.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-dag-cbor-html-preview.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin-handle-dag-cbor-html-preview.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-dag-cbor-html-preview.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-dag-pb.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-dag-pb.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI/C;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,QAAQ,CAAC,EAAE,mBAAkB;IAC7B,QAAQ,CAAC,KAAK,QAAc;IAE5B,SAAS,CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,aAAa,GAAG,OAAO;IAiBlF;;OAEG;IACH,cAAc,CAAE,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"plugin-handle-dag-pb.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-dag-pb.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI/C;;GAEG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,QAAQ,CAAC,EAAE,mBAAkB;IAC7B,QAAQ,CAAC,KAAK,QAAc;IAE5B,SAAS,CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,aAAa,GAAG,OAAO;IAiBlF;;OAEG;IACH,cAAc,CAAE,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI;IAuBhD,MAAM,CAAE,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAuIrH,kBAAkB;CAkCjC"}
|
|
@@ -31,23 +31,21 @@ export class DagPbPlugin extends BasePlugin {
|
|
|
31
31
|
* @see https://specs.ipfs.tech/http-gateways/path-gateway/#use-in-directory-url-normalization
|
|
32
32
|
*/
|
|
33
33
|
getRedirectUrl(context) {
|
|
34
|
-
const { resource,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
try
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return `${resource.toString()}/`;
|
|
50
|
-
}
|
|
34
|
+
const { resource, url, isDirectory } = context;
|
|
35
|
+
let uri;
|
|
36
|
+
try {
|
|
37
|
+
// try the requested resource
|
|
38
|
+
uri = new URL(resource);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// fall back to the canonical URL
|
|
42
|
+
uri = url;
|
|
43
|
+
}
|
|
44
|
+
// directories must be requested with a trailing slash
|
|
45
|
+
if (isDirectory && !uri.pathname.endsWith('/')) {
|
|
46
|
+
// make sure we append slash to end of the path
|
|
47
|
+
uri.pathname += '/';
|
|
48
|
+
return uri.toString();
|
|
51
49
|
}
|
|
52
50
|
return null;
|
|
53
51
|
}
|
|
@@ -56,15 +54,15 @@ export class DagPbPlugin extends BasePlugin {
|
|
|
56
54
|
const { contentTypeParser, helia, getBlockstore } = this.pluginOptions;
|
|
57
55
|
const log = this.log;
|
|
58
56
|
let resource = context.resource;
|
|
59
|
-
|
|
57
|
+
const path = context.path;
|
|
60
58
|
let redirected = false;
|
|
61
59
|
const byteRangeContext = context.byteRangeContext;
|
|
62
60
|
const ipfsRoots = pathDetails.ipfsRoots;
|
|
63
61
|
const terminalElement = pathDetails.terminalElement;
|
|
64
62
|
let resolvedCID = terminalElement.cid;
|
|
65
63
|
const fs = unixfs({ ...helia, blockstore: getBlockstore(context.cid, context.resource, options?.session ?? true, options) });
|
|
64
|
+
context.isDirectory = terminalElement?.type === 'directory';
|
|
66
65
|
if (terminalElement?.type === 'directory') {
|
|
67
|
-
const dirCid = terminalElement.cid;
|
|
68
66
|
const redirectUrl = this.getRedirectUrl(context);
|
|
69
67
|
if (redirectUrl != null) {
|
|
70
68
|
log.trace('directory url normalization spec requires redirect...');
|
|
@@ -81,6 +79,7 @@ export class DagPbPlugin extends BasePlugin {
|
|
|
81
79
|
resource = redirectUrl;
|
|
82
80
|
redirected = true;
|
|
83
81
|
}
|
|
82
|
+
const dirCid = terminalElement.cid;
|
|
84
83
|
const rootFilePath = 'index.html';
|
|
85
84
|
try {
|
|
86
85
|
log.trace('found directory at %c/%s, looking for index.html', cid, path);
|
|
@@ -89,7 +88,6 @@ export class DagPbPlugin extends BasePlugin {
|
|
|
89
88
|
onProgress: options?.onProgress
|
|
90
89
|
}));
|
|
91
90
|
log.trace('found root file at %c/%s with cid %c', dirCid, rootFilePath, entry.cid);
|
|
92
|
-
path = rootFilePath;
|
|
93
91
|
resolvedCID = entry.cid;
|
|
94
92
|
}
|
|
95
93
|
catch (err) {
|
|
@@ -108,7 +106,7 @@ export class DagPbPlugin extends BasePlugin {
|
|
|
108
106
|
return null;
|
|
109
107
|
}
|
|
110
108
|
finally {
|
|
111
|
-
options?.onProgress?.(new CustomProgressEvent('verified-fetch:request:end', { cid: dirCid, path: rootFilePath }));
|
|
109
|
+
options?.onProgress?.(new CustomProgressEvent('verified-fetch:request:end', { cid: dirCid, path: [rootFilePath] }));
|
|
112
110
|
}
|
|
113
111
|
}
|
|
114
112
|
try {
|
|
@@ -137,13 +135,13 @@ export class DagPbPlugin extends BasePlugin {
|
|
|
137
135
|
onProgress: options?.onProgress
|
|
138
136
|
});
|
|
139
137
|
log('got async iterator for %c/%s', cid, path);
|
|
140
|
-
const streamAndFirstChunk = await context.serverTiming.time('stream-and-chunk', '', getStreamFromAsyncIterable(asyncIter,
|
|
138
|
+
const streamAndFirstChunk = await context.serverTiming.time('stream-and-chunk', '', getStreamFromAsyncIterable(asyncIter, {
|
|
141
139
|
onProgress: options?.onProgress,
|
|
142
140
|
signal: options?.signal
|
|
143
141
|
}));
|
|
144
142
|
const stream = streamAndFirstChunk.stream;
|
|
145
143
|
firstChunk = streamAndFirstChunk.firstChunk;
|
|
146
|
-
contentType = await context.serverTiming.time('get-content-type', '', getContentType({ filename: query.filename, bytes: firstChunk,
|
|
144
|
+
contentType = await context.serverTiming.time('get-content-type', '', getContentType({ path, filename: query.filename, bytes: firstChunk, contentTypeParser, log }));
|
|
147
145
|
byteRangeContext.setBody(stream);
|
|
148
146
|
}
|
|
149
147
|
// if not a valid range request, okRangeRequest will call okResponse
|
|
@@ -177,7 +175,7 @@ export class DagPbPlugin extends BasePlugin {
|
|
|
177
175
|
// 8kb in order to determine the content type
|
|
178
176
|
length: 8192
|
|
179
177
|
});
|
|
180
|
-
const { firstChunk } = await getStreamFromAsyncIterable(asyncIter,
|
|
178
|
+
const { firstChunk } = await getStreamFromAsyncIterable(asyncIter, {
|
|
181
179
|
onProgress: options?.onProgress,
|
|
182
180
|
signal: options?.signal
|
|
183
181
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-dag-pb.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-dag-pb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAA;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAK7C;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,UAAU;IAChC,EAAE,GAAG,eAAe,CAAA;IACpB,KAAK,GAAG,CAAC,SAAS,CAAC,CAAA;IAE5B,SAAS,CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAiB;QACtE,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAA;QACd,CAAC;QAED,qCAAqC;QACrC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,0BAA0B,EAAE,CAAC;YACrE,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,cAAc,CAAE,OAAsB;QACpC,MAAM,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin-handle-dag-pb.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-dag-pb.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import type { PluginContext } from './types.js';
|
|
|
7
7
|
export declare class IpnsRecordPlugin extends BasePlugin {
|
|
8
8
|
readonly id = "ipns-record-plugin";
|
|
9
9
|
readonly codes: never[];
|
|
10
|
-
canHandle({
|
|
10
|
+
canHandle({ accept, query, byteRangeContext }: PluginContext): boolean;
|
|
11
11
|
handle(context: PluginContext & Required<Pick<PluginContext, 'byteRangeContext'>>): Promise<Response>;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=plugin-handle-ipns-record.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-ipns-record.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-ipns-record.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/C;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,QAAQ,CAAC,EAAE,wBAAuB;IAClC,QAAQ,CAAC,KAAK,UAAK;IAEnB,SAAS,CAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin-handle-ipns-record.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-ipns-record.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAG/C;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,QAAQ,CAAC,EAAE,wBAAuB;IAClC,QAAQ,CAAC,KAAK,UAAK;IAEnB,SAAS,CAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,aAAa,GAAG,OAAO;IAQjE,MAAM,CAAE,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;CAgD7G"}
|
|
@@ -9,7 +9,7 @@ import { BasePlugin } from './plugin-base.js';
|
|
|
9
9
|
export class IpnsRecordPlugin extends BasePlugin {
|
|
10
10
|
id = 'ipns-record-plugin';
|
|
11
11
|
codes = [];
|
|
12
|
-
canHandle({
|
|
12
|
+
canHandle({ accept, query, byteRangeContext }) {
|
|
13
13
|
if (byteRangeContext == null) {
|
|
14
14
|
return false;
|
|
15
15
|
}
|
|
@@ -19,7 +19,7 @@ export class IpnsRecordPlugin extends BasePlugin {
|
|
|
19
19
|
const { resource, path, query, options } = context;
|
|
20
20
|
const { ipnsResolver } = this.pluginOptions;
|
|
21
21
|
context.reqFormat = 'ipns-record';
|
|
22
|
-
if (path
|
|
22
|
+
if (path.length > 0 || !(resource.startsWith('ipns://') || resource.includes('.ipns.') || resource.includes('/ipns/'))) {
|
|
23
23
|
this.log.error('invalid request for IPNS name "%s" and path "%s"', resource, path);
|
|
24
24
|
return badRequestResponse(resource, new Error('Invalid IPNS name'));
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-ipns-record.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-ipns-record.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAI7C;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IACrC,EAAE,GAAG,oBAAoB,CAAA;IACzB,KAAK,GAAG,EAAE,CAAA;IAEnB,SAAS,CAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin-handle-ipns-record.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-ipns-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,7 +58,7 @@ export class RawPlugin extends BasePlugin {
|
|
|
58
58
|
else {
|
|
59
59
|
log.trace('did not set content disposition, raw block will display inline');
|
|
60
60
|
}
|
|
61
|
-
if (path
|
|
61
|
+
if (path.length > 0 && cid.code === rawCode) {
|
|
62
62
|
log.trace('404-ing raw codec request for %c/%s', cid, path);
|
|
63
63
|
return notFoundResponse(resource);
|
|
64
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-raw.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-raw.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAI7C;;;GAGG;AACH,MAAM,WAAW,GAAG;IAClB,+BAA+B;IAC/B,0BAA0B;IAC1B,0BAA0B;CAC3B,CAAA;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAAE,EAAE,OAAO,EAAE,MAAM,EAAoD;IACzG,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAM,EAAE,QAAQ,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAEjF,gGAAgG;IAChG,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAErB,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,OAAM;QACR,CAAC;QAED,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,SAAU,SAAQ,UAAU;IAC9B,EAAE,GAAG,YAAY,CAAA;IAC1B,KAAK,GAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE1C,SAAS,CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAiB;QAChE,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,MAAM,EAAE,QAAQ,KAAK,0BAA0B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,OAA0E;QACtF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC/D,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;QAC/D,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAA;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAEpB,IAAI,MAAM,EAAE,QAAQ,KAAK,0BAA0B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC9E,OAAO,CAAC,SAAS,GAAG,KAAK,CAAA;YACzB,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;YAC7B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAA;YAC1E,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACxD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAA;QAC7E,CAAC;QAED,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"plugin-handle-raw.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-raw.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAI7C;;;GAGG;AACH,MAAM,WAAW,GAAG;IAClB,+BAA+B;IAC/B,0BAA0B;IAC1B,0BAA0B;CAC3B,CAAA;AAED;;;;;GAKG;AACH,SAAS,2BAA2B,CAAE,EAAE,OAAO,EAAE,MAAM,EAAoD;IACzG,sFAAsF;IACtF,MAAM,YAAY,GAAG,MAAM,EAAE,QAAQ,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IAEjF,gGAAgG;IAChG,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAErB,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,OAAM;QACR,CAAC;QAED,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,SAAU,SAAQ,UAAU;IAC9B,EAAE,GAAG,YAAY,CAAA;IAC1B,KAAK,GAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE1C,SAAS,CAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAiB;QAChE,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,MAAM,EAAE,QAAQ,KAAK,0BAA0B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAA;IAClF,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,OAA0E;QACtF,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAC/D,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;QAC/D,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAA;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAEpB,IAAI,MAAM,EAAE,QAAQ,KAAK,0BAA0B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC9E,OAAO,CAAC,SAAS,GAAG,KAAK,CAAA;YACzB,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAA;YAC7B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAA;YAC1E,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;QACxD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAA;QAC7E,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5C,GAAG,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAC3D,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACnC,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;QAC3E,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QACzE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;QAEnE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAExC,yEAAyE;QACzE,8DAA8D;QAC9D,gEAAgE;QAChE,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC;YACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,MAAM;YACb,IAAI;YACJ,kBAAkB,EAAE,2BAA2B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YACtF,iBAAiB;YACjB,GAAG;SACJ,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,GAAG,EAAE,EAAE;YAC7I,UAAU,EAAE,KAAK;SAClB,CAAC,CAAA;QAEF,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,WAAW,CAAC,CAAA;QAC9F,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEnE,uDAAuD;QACvD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;YAC7C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;QACtE,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ResolveURLResult,
|
|
1
|
+
import type { ResolveURLResult, VerifiedFetchInit, ContentTypeParser, RequestFormatShorthand } from '../index.js';
|
|
2
2
|
import type { ByteRangeContext } from '../utils/byte-range-context.js';
|
|
3
3
|
import type { AcceptHeader } from '../utils/select-output-type.ts';
|
|
4
4
|
import type { ServerTiming } from '../utils/server-timing.ts';
|
|
@@ -29,8 +29,6 @@ export interface PluginOptions {
|
|
|
29
29
|
* - Ephemeral: Typically discarded once fetch(...) completes.
|
|
30
30
|
*/
|
|
31
31
|
export interface PluginContext extends ResolveURLResult {
|
|
32
|
-
readonly cid: CID;
|
|
33
|
-
readonly path: string;
|
|
34
32
|
readonly resource: string;
|
|
35
33
|
readonly accept?: AcceptHeader;
|
|
36
34
|
/**
|
|
@@ -48,7 +46,6 @@ export interface PluginContext extends ResolveURLResult {
|
|
|
48
46
|
directoryEntries?: UnixFSEntry[];
|
|
49
47
|
reqFormat?: RequestFormatShorthand;
|
|
50
48
|
pathDetails?: PathWalkerResponse;
|
|
51
|
-
query: UrlQuery;
|
|
52
49
|
/**
|
|
53
50
|
* ByteRangeContext contains information about the size of the content and range requests.
|
|
54
51
|
* This can be used to set the Content-Length header without loading the entire body.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
2
|
import type { ResolveURLOptions, ResolveURLResult, Resource, URLResolver as URLResolverInterface } from './index.ts';
|
|
3
|
+
import type { ParsedURL } from './utils/parse-url-string.ts';
|
|
3
4
|
import type { ServerTiming } from './utils/server-timing.ts';
|
|
4
5
|
import type { DNSLink } from '@helia/dnslink';
|
|
5
6
|
import type { IPNSResolver } from '@helia/ipns';
|
|
@@ -14,8 +15,8 @@ export declare class URLResolver implements URLResolverInterface {
|
|
|
14
15
|
constructor(components: URLResolverComponents);
|
|
15
16
|
resolve(resource: Resource, options?: ResolveURLOptions): Promise<ResolveURLResult>;
|
|
16
17
|
parseUrlString(urlString: string, options?: ResolveURLOptions): Promise<ResolveURLResult>;
|
|
17
|
-
resolveCIDResource(cid: CID,
|
|
18
|
-
resolveDNSLink(domain: string,
|
|
19
|
-
resolveIPNSName(resource: string, key: PeerId,
|
|
18
|
+
resolveCIDResource(cid: CID, parsed: Partial<ParsedURL> & Pick<ParsedURL, 'url'>, options?: ResolveURLOptions): Promise<ResolveURLResult>;
|
|
19
|
+
resolveDNSLink(domain: string, parsed: ParsedURL, options?: ResolveURLOptions): Promise<ResolveURLResult>;
|
|
20
|
+
resolveIPNSName(resource: string, key: PeerId, parsed: Partial<ParsedURL> & Pick<ParsedURL, 'url'>, options?: AbortOptions): Promise<ResolveURLResult>;
|
|
20
21
|
}
|
|
21
22
|
//# sourceMappingURL=url-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-resolver.d.ts","sourceRoot":"","sources":["../../src/url-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI7D,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;CACrB;
|
|
1
|
+
{"version":3,"file":"url-resolver.d.ts","sourceRoot":"","sources":["../../src/url-resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACpH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI7D,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;CACrB;AAED,qBAAa,WAAY,YAAW,oBAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAErC,UAAU,EAAE,qBAAqB;IAIxC,OAAO,CAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgBxF,cAAc,CAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2B9F,kBAAkB,CAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkB9I,cAAc,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgC1G,eAAe,CAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAe9J"}
|
package/dist/src/url-resolver.js
CHANGED
|
@@ -1,24 +1,7 @@
|
|
|
1
1
|
import { peerIdFromCID, peerIdFromString } from '@libp2p/peer-id';
|
|
2
2
|
import { CID } from 'multiformats/cid';
|
|
3
|
-
import {
|
|
3
|
+
import { parseURLString } from "./utils/parse-url-string.js";
|
|
4
4
|
const CODEC_LIBP2P_KEY = 0x72;
|
|
5
|
-
function toQuery(query) {
|
|
6
|
-
if (query == null) {
|
|
7
|
-
return {};
|
|
8
|
-
}
|
|
9
|
-
const params = new URLSearchParams(query);
|
|
10
|
-
const output = {};
|
|
11
|
-
for (const [key, value] of params.entries()) {
|
|
12
|
-
output[key] = value;
|
|
13
|
-
if (value === 'true') {
|
|
14
|
-
output[key] = true;
|
|
15
|
-
}
|
|
16
|
-
if (value === 'false') {
|
|
17
|
-
output[key] = false;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return output;
|
|
21
|
-
}
|
|
22
5
|
export class URLResolver {
|
|
23
6
|
components;
|
|
24
7
|
constructor(components) {
|
|
@@ -30,46 +13,50 @@ export class URLResolver {
|
|
|
30
13
|
}
|
|
31
14
|
const cid = CID.asCID(resource);
|
|
32
15
|
if (cid != null) {
|
|
33
|
-
return this.resolveCIDResource(cid,
|
|
16
|
+
return this.resolveCIDResource(cid, {
|
|
17
|
+
url: new URL(`ipfs://${cid}`)
|
|
18
|
+
}, options);
|
|
34
19
|
}
|
|
35
20
|
throw new TypeError(`Invalid resource. Cannot determine CID from resource: ${resource}`);
|
|
36
21
|
}
|
|
37
22
|
async parseUrlString(urlString, options = {}) {
|
|
38
|
-
const
|
|
39
|
-
if (protocol === 'ipfs') {
|
|
40
|
-
const cid = CID.parse(cidOrPeerIdOrDnsLink);
|
|
41
|
-
return this.resolveCIDResource(cid,
|
|
23
|
+
const result = parseURLString(urlString);
|
|
24
|
+
if (result.protocol === 'ipfs') {
|
|
25
|
+
const cid = CID.parse(result.cidOrPeerIdOrDnsLink);
|
|
26
|
+
return this.resolveCIDResource(cid, result, options);
|
|
42
27
|
}
|
|
43
|
-
if (protocol === 'ipns') {
|
|
28
|
+
if (result.protocol === 'ipns') {
|
|
44
29
|
// try to parse target as peer id
|
|
45
30
|
let peerId;
|
|
46
31
|
try {
|
|
47
|
-
peerId = peerIdFromString(cidOrPeerIdOrDnsLink);
|
|
32
|
+
peerId = peerIdFromString(result.cidOrPeerIdOrDnsLink);
|
|
48
33
|
}
|
|
49
34
|
catch {
|
|
50
35
|
// fall back to DNSLink (e.g. /ipns/example.com)
|
|
51
|
-
return this.resolveDNSLink(cidOrPeerIdOrDnsLink,
|
|
36
|
+
return this.resolveDNSLink(result.cidOrPeerIdOrDnsLink, result, options);
|
|
52
37
|
}
|
|
53
38
|
// parse multihash from string (e.g. /ipns/QmFoo...)
|
|
54
|
-
return this.resolveIPNSName(cidOrPeerIdOrDnsLink, peerId,
|
|
39
|
+
return this.resolveIPNSName(result.cidOrPeerIdOrDnsLink, peerId, result, options);
|
|
55
40
|
}
|
|
56
41
|
throw new TypeError(`Invalid resource. Cannot determine CID from resource: ${urlString}`);
|
|
57
42
|
}
|
|
58
|
-
async resolveCIDResource(cid,
|
|
43
|
+
async resolveCIDResource(cid, parsed, options = {}) {
|
|
59
44
|
if (cid.code === CODEC_LIBP2P_KEY) {
|
|
60
45
|
// special case - peer id encoded as a CID
|
|
61
|
-
return this.resolveIPNSName(cid.toString(), peerIdFromCID(cid),
|
|
46
|
+
return this.resolveIPNSName(cid.toString(), peerIdFromCID(cid), parsed, options);
|
|
62
47
|
}
|
|
63
48
|
return {
|
|
49
|
+
url: parsed.url,
|
|
64
50
|
cid,
|
|
65
51
|
protocol: 'ipfs',
|
|
66
|
-
query,
|
|
67
|
-
path,
|
|
52
|
+
query: parsed.query ?? {},
|
|
53
|
+
path: parsed.path ?? [],
|
|
54
|
+
fragment: parsed.fragment ?? '',
|
|
68
55
|
ttl: 29030400, // 1 year for ipfs content
|
|
69
|
-
ipfsPath: `/ipfs/${cid}${
|
|
56
|
+
ipfsPath: `/ipfs/${cid}${parsed.url.pathname}`
|
|
70
57
|
};
|
|
71
58
|
}
|
|
72
|
-
async resolveDNSLink(domain,
|
|
59
|
+
async resolveDNSLink(domain, parsed, options) {
|
|
73
60
|
const results = await this.components.timing.time('dnsLink.resolve', `Resolve DNSLink ${domain}`, this.components.dnsLink.resolve(domain, options));
|
|
74
61
|
const result = results?.[0];
|
|
75
62
|
if (result == null) {
|
|
@@ -77,7 +64,7 @@ export class URLResolver {
|
|
|
77
64
|
}
|
|
78
65
|
// dnslink resolved to IPNS name
|
|
79
66
|
if (result.namespace === 'ipns') {
|
|
80
|
-
return this.resolveIPNSName(domain, result.peerId,
|
|
67
|
+
return this.resolveIPNSName(domain, result.peerId, parsed, options);
|
|
81
68
|
}
|
|
82
69
|
// dnslink resolved to CID
|
|
83
70
|
if (result.namespace !== 'ipfs') {
|
|
@@ -85,34 +72,35 @@ export class URLResolver {
|
|
|
85
72
|
throw new TypeError(`Invalid resource. Unexpected DNSLink namespace ${result.namespace} from domain: ${domain}`);
|
|
86
73
|
}
|
|
87
74
|
return {
|
|
75
|
+
url: parsed.url,
|
|
88
76
|
cid: result.cid,
|
|
89
|
-
path: concatPaths(result.path, path),
|
|
77
|
+
path: concatPaths(...(result.path ?? '').split('/'), ...(parsed.path ?? [])),
|
|
78
|
+
fragment: parsed.fragment,
|
|
90
79
|
// dnslink is mutable so return 'ipns' protocol so we do not include immutable in cache-control header
|
|
91
80
|
protocol: 'ipns',
|
|
92
81
|
ttl: result.answer.TTL,
|
|
93
|
-
query,
|
|
94
|
-
ipfsPath: `/ipns/${domain}${
|
|
82
|
+
query: parsed.query,
|
|
83
|
+
ipfsPath: `/ipns/${domain}${parsed.url.pathname}`
|
|
95
84
|
};
|
|
96
85
|
}
|
|
97
|
-
async resolveIPNSName(resource, key,
|
|
86
|
+
async resolveIPNSName(resource, key, parsed, options) {
|
|
98
87
|
const result = await this.components.timing.time('ipns.resolve', `Resolve IPNS name ${key}`, this.components.ipnsResolver.resolve(key, options));
|
|
99
88
|
return {
|
|
89
|
+
url: parsed.url,
|
|
100
90
|
cid: result.cid,
|
|
101
|
-
path: concatPaths(result.path, path),
|
|
102
|
-
query,
|
|
91
|
+
path: concatPaths(...(result.path ?? '').split('/'), ...(parsed.path ?? [])),
|
|
92
|
+
query: parsed.query ?? {},
|
|
93
|
+
fragment: parsed.fragment ?? '',
|
|
103
94
|
protocol: 'ipns',
|
|
104
95
|
// IPNS ttl is in nanoseconds, convert to seconds
|
|
105
96
|
ttl: Number((result.record.ttl ?? 0n) / BigInt(1e9)),
|
|
106
|
-
ipfsPath: `/ipns/${resource}${
|
|
97
|
+
ipfsPath: `/ipns/${resource}${parsed.url.pathname}`
|
|
107
98
|
};
|
|
108
99
|
}
|
|
109
100
|
}
|
|
110
101
|
function concatPaths(...paths) {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
.
|
|
114
|
-
.replaceAll(/(\/+)/g, '/')
|
|
115
|
-
.replace(/^(\/)+/, '')
|
|
116
|
-
.replace(/(\/)+$/, '/')}`;
|
|
102
|
+
// @ts-expect-error undefined is filtered out
|
|
103
|
+
return paths
|
|
104
|
+
.filter(p => p != null && p !== '');
|
|
117
105
|
}
|
|
118
106
|
//# sourceMappingURL=url-resolver.js.map
|