@helia/verified-fetch 6.0.0 → 6.1.0
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 +56 -56
- package/dist/index.min.js.map +4 -4
- package/dist/src/index.d.ts +9 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/plugins/plugin-handle-car.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-car.js +7 -3
- package/dist/src/plugins/plugin-handle-car.js.map +1 -1
- package/dist/src/plugins/plugin-handle-ipld.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-ipld.js +4 -15
- package/dist/src/plugins/plugin-handle-ipld.js.map +1 -1
- package/dist/src/plugins/plugin-handle-raw.d.ts +11 -0
- package/dist/src/plugins/plugin-handle-raw.d.ts.map +1 -0
- package/dist/src/plugins/plugin-handle-raw.js +41 -0
- package/dist/src/plugins/plugin-handle-raw.js.map +1 -0
- package/dist/src/plugins/plugin-handle-unixfs.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-unixfs.js +32 -14
- package/dist/src/plugins/plugin-handle-unixfs.js.map +1 -1
- package/dist/src/url-resolver.d.ts +2 -3
- package/dist/src/url-resolver.d.ts.map +1 -1
- package/dist/src/url-resolver.js +19 -55
- package/dist/src/url-resolver.js.map +1 -1
- package/dist/src/utils/error-to-response.js +1 -1
- package/dist/src/utils/error-to-response.js.map +1 -1
- package/dist/src/utils/get-tar-stream.d.ts.map +1 -1
- package/dist/src/utils/get-tar-stream.js +22 -9
- package/dist/src/utils/get-tar-stream.js.map +1 -1
- package/dist/src/verified-fetch.d.ts.map +1 -1
- package/dist/src/verified-fetch.js +28 -23
- package/dist/src/verified-fetch.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +10 -2
- package/src/plugins/plugin-handle-car.ts +8 -3
- package/src/plugins/plugin-handle-ipld.ts +4 -14
- package/src/plugins/plugin-handle-raw.ts +52 -0
- package/src/plugins/plugin-handle-unixfs.ts +36 -14
- package/src/url-resolver.ts +21 -63
- package/src/utils/error-to-response.ts +1 -1
- package/src/utils/get-tar-stream.ts +26 -10
- package/src/verified-fetch.ts +23 -18
package/dist/src/index.d.ts
CHANGED
|
@@ -782,7 +782,7 @@ import type { DNSResolvers } from '@multiformats/dns';
|
|
|
782
782
|
import type { DNSResolver } from '@multiformats/dns/resolvers';
|
|
783
783
|
import type { HeliaInit } from 'helia';
|
|
784
784
|
import type { Blockstore } from 'interface-blockstore';
|
|
785
|
-
import type { ExporterProgressEvents,
|
|
785
|
+
import type { ExporterProgressEvents, PathEntry } from 'ipfs-unixfs-exporter';
|
|
786
786
|
import type { Libp2pOptions } from 'libp2p';
|
|
787
787
|
import type { CID } from 'multiformats/cid';
|
|
788
788
|
import type { ProgressEvent, ProgressOptions } from 'progress-events';
|
|
@@ -1132,6 +1132,13 @@ export interface VerifiedFetchInit extends RequestInit, ProgressOptions<Verified
|
|
|
1132
1132
|
* @default true
|
|
1133
1133
|
*/
|
|
1134
1134
|
supportWebRedirects?: boolean;
|
|
1135
|
+
/**
|
|
1136
|
+
* If true, only operate on the local blockstore, do not perform any network
|
|
1137
|
+
* operations.
|
|
1138
|
+
*
|
|
1139
|
+
* @default false
|
|
1140
|
+
*/
|
|
1141
|
+
offline?: boolean;
|
|
1135
1142
|
}
|
|
1136
1143
|
export type URLProtocols = 'ipfs' | 'ipns' | 'dnslink';
|
|
1137
1144
|
export interface ResolveURLOptions extends AbortOptions {
|
|
@@ -1142,7 +1149,7 @@ export interface ResolveURLResult {
|
|
|
1142
1149
|
ttl: number;
|
|
1143
1150
|
blockstore: Blockstore;
|
|
1144
1151
|
ipfsRoots: CID[];
|
|
1145
|
-
terminalElement:
|
|
1152
|
+
terminalElement: PathEntry;
|
|
1146
1153
|
}
|
|
1147
1154
|
export interface URLResolver {
|
|
1148
1155
|
/**
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAowBG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,IAAI,4BAA4B,EAAE,MAAM,gBAAgB,CAAA;AACpG,OAAO,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAW,MAAM,kBAAkB,CAAA;AAC9E,OAAO,KAAK,EAAE,qBAAqB,IAAI,6BAA6B,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAClI,OAAO,KAAK,EAAE,YAAY,EAAU,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACpG,OAAO,KAAK,EAAE,YAAY,EAAO,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAowBG;AAEH,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAA;AAC7F,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;AAiBzE,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,iBAAiB,EAClB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-car.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-car.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-handle-car.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-car.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAkChD;;;GAGG;AACH,qBAAa,SAAU,SAAQ,UAAU;IACvC,QAAQ,CAAC,EAAE,gBAAe;IAE1B,SAAS,CAAE,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO;IAIxC,MAAM,CAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;CA0FzD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BlockExporter, car, CIDPath, depthFirstWalker, naturalOrderWalker, SubgraphExporter, UnixFSExporter } from '@helia/car';
|
|
2
2
|
import { code as dagPbCode } from '@ipld/dag-pb';
|
|
3
3
|
import { createScalableCuckooFilter } from '@libp2p/utils';
|
|
4
|
+
import { exporter } from 'ipfs-unixfs-exporter';
|
|
4
5
|
import toBrowserReadableStream from 'it-to-browser-readablestream';
|
|
5
6
|
import { CONTENT_TYPE_CAR, MEDIA_TYPE_CAR } from "../utils/content-types.js";
|
|
6
7
|
import { getContentDispositionFilename } from "../utils/get-content-disposition-filename.js";
|
|
@@ -83,9 +84,12 @@ export class CarPlugin extends BasePlugin {
|
|
|
83
84
|
const options = {
|
|
84
85
|
listingOnly: true
|
|
85
86
|
};
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
const entry = await exporter(terminalElement.cid, blockstore, context.options);
|
|
88
|
+
if (entry.type === 'file') {
|
|
89
|
+
const slice = entityBytesToOffsetAndLength(entry.size, url.searchParams.get('entity-bytes'));
|
|
90
|
+
options.offset = slice.offset;
|
|
91
|
+
options.length = slice.length;
|
|
92
|
+
}
|
|
89
93
|
carExportOptions.exporter = new UnixFSExporter(options);
|
|
90
94
|
}
|
|
91
95
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-car.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-car.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin-handle-car.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-car.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-ipld.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-ipld.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,aAAa,CAAA;AAE7D;;GAEG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACxC,QAAQ,CAAC,EAAE,iBAAgB;IAC3B,QAAQ,CAAC,KAAK,WAQb;IAED,SAAS,CAAE,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"plugin-handle-ipld.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-ipld.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,aAAa,CAAA;AAE7D;;GAEG;AACH,qBAAa,UAAW,SAAQ,UAAU;IACxC,QAAQ,CAAC,EAAE,iBAAgB;IAC3B,QAAQ,CAAC,KAAK,WAQb;IAED,SAAS,CAAE,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO;IAYzD,MAAM,CAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;CAwCzD"}
|
|
@@ -6,7 +6,7 @@ import * as json from 'multiformats/codecs/json';
|
|
|
6
6
|
import * as raw from 'multiformats/codecs/raw';
|
|
7
7
|
import { identity } from 'multiformats/hashes/identity';
|
|
8
8
|
import { CODEC_CBOR } from "../constants.js";
|
|
9
|
-
import { getContentTypesForCid, MEDIA_TYPE_CBOR, MEDIA_TYPE_DAG_CBOR, MEDIA_TYPE_DAG_JSON, MEDIA_TYPE_JSON
|
|
9
|
+
import { getContentTypesForCid, MEDIA_TYPE_CBOR, MEDIA_TYPE_DAG_CBOR, MEDIA_TYPE_DAG_JSON, MEDIA_TYPE_JSON } from "../utils/content-types.js";
|
|
10
10
|
import { convertOutput } from "../utils/convert-output.js";
|
|
11
11
|
import { getContentDispositionFilename } from "../utils/get-content-disposition-filename.js";
|
|
12
12
|
import { notAcceptableResponse, okResponse, partialContentResponse } from '../utils/responses.js';
|
|
@@ -31,24 +31,13 @@ export class IpldPlugin extends BasePlugin {
|
|
|
31
31
|
accept.some(header => header.contentType.mediaType === MEDIA_TYPE_CBOR ||
|
|
32
32
|
header.contentType.mediaType === MEDIA_TYPE_DAG_CBOR ||
|
|
33
33
|
header.contentType.mediaType === MEDIA_TYPE_JSON ||
|
|
34
|
-
header.contentType.mediaType === MEDIA_TYPE_DAG_JSON
|
|
35
|
-
header.contentType.mediaType === MEDIA_TYPE_RAW ||
|
|
36
|
-
header.contentType.mediaType === MEDIA_TYPE_OCTET_STREAM);
|
|
34
|
+
header.contentType.mediaType === MEDIA_TYPE_DAG_JSON);
|
|
37
35
|
return supportsCid && supportsAccept;
|
|
38
36
|
}
|
|
39
37
|
async handle(context) {
|
|
40
38
|
const { url, resource, accept, ipfsRoots, terminalElement, blockstore, options, requestedMimeTypes } = context;
|
|
41
|
-
this.log.trace('fetching %c
|
|
42
|
-
let block;
|
|
43
|
-
if (terminalElement.node == null) {
|
|
44
|
-
block = await toBuffer(blockstore.get(terminalElement.cid, options));
|
|
45
|
-
}
|
|
46
|
-
else if (terminalElement.type === 'object' || terminalElement.type === 'raw' || terminalElement.type === 'identity') {
|
|
47
|
-
block = terminalElement.node;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
block = dagPb.encode(terminalElement.node);
|
|
51
|
-
}
|
|
39
|
+
this.log.trace('fetching %c%s', terminalElement.cid, url.pathname);
|
|
40
|
+
let block = await toBuffer(blockstore.get(terminalElement.cid, options));
|
|
52
41
|
let contentType;
|
|
53
42
|
try {
|
|
54
43
|
// maybe convert output to different binary format
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-ipld.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-ipld.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAA;AAChD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin-handle-ipld.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-ipld.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BasePlugin } from './plugin-base.js';
|
|
2
|
+
import type { PluginContext } from '../index.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Handles loading raw blocks from unsupported codecs
|
|
5
|
+
*/
|
|
6
|
+
export declare class RawPlugin extends BasePlugin {
|
|
7
|
+
readonly id = "raw-plugin";
|
|
8
|
+
canHandle({ accept }: PluginContext): boolean;
|
|
9
|
+
handle(context: PluginContext): Promise<Response>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=plugin-handle-raw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-handle-raw.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-raw.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD;;GAEG;AACH,qBAAa,SAAU,SAAQ,UAAU;IACvC,QAAQ,CAAC,EAAE,gBAAe;IAE1B,SAAS,CAAE,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO;IASxC,MAAM,CAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;CA6BzD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import toBuffer from 'it-to-buffer';
|
|
2
|
+
import { MEDIA_TYPE_OCTET_STREAM, MEDIA_TYPE_RAW } from "../utils/content-types.js";
|
|
3
|
+
import { getContentDispositionFilename } from "../utils/get-content-disposition-filename.js";
|
|
4
|
+
import { okResponse, partialContentResponse } from '../utils/responses.js';
|
|
5
|
+
import { BasePlugin } from './plugin-base.js';
|
|
6
|
+
/**
|
|
7
|
+
* Handles loading raw blocks from unsupported codecs
|
|
8
|
+
*/
|
|
9
|
+
export class RawPlugin extends BasePlugin {
|
|
10
|
+
id = 'raw-plugin';
|
|
11
|
+
canHandle({ accept }) {
|
|
12
|
+
const supportsAccept = accept.length === 0 ||
|
|
13
|
+
accept.some(header => header.contentType.mediaType === MEDIA_TYPE_RAW ||
|
|
14
|
+
header.contentType.mediaType === MEDIA_TYPE_OCTET_STREAM);
|
|
15
|
+
return supportsAccept;
|
|
16
|
+
}
|
|
17
|
+
async handle(context) {
|
|
18
|
+
const { url, resource, accept, ipfsRoots, terminalElement, blockstore, options } = context;
|
|
19
|
+
this.log.trace('fetching %c%s', terminalElement.cid, url.pathname);
|
|
20
|
+
const block = await toBuffer(blockstore.get(terminalElement.cid, options));
|
|
21
|
+
const headers = {
|
|
22
|
+
'content-length': `${block.byteLength}`,
|
|
23
|
+
'content-type': accept.some(value => value.contentType.mediaType === MEDIA_TYPE_RAW) ? MEDIA_TYPE_RAW : MEDIA_TYPE_OCTET_STREAM,
|
|
24
|
+
'content-disposition': `${url.searchParams.get('download') === 'false' ? 'inline' : 'attachment'}; ${getContentDispositionFilename(url.searchParams.get('filename') ?? `${terminalElement.cid}.raw`)}`,
|
|
25
|
+
'x-ipfs-roots': ipfsRoots.map(cid => cid.toV1()).join(','),
|
|
26
|
+
'x-content-type-options': 'nosniff',
|
|
27
|
+
'accept-ranges': 'bytes'
|
|
28
|
+
};
|
|
29
|
+
if (context.range != null) {
|
|
30
|
+
return partialContentResponse(resource, async function* (offset, length) {
|
|
31
|
+
yield block.subarray(offset, offset + length);
|
|
32
|
+
}, context.range, block.byteLength, {
|
|
33
|
+
headers
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return okResponse(resource, block, {
|
|
37
|
+
headers
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=plugin-handle-raw.js.map
|
|
@@ -0,0 +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,uBAAuB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IAC9B,EAAE,GAAG,YAAY,CAAA;IAE1B,SAAS,CAAE,EAAE,MAAM,EAAiB;QAClC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,cAAc;gBACnE,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,uBAAuB,CACzD,CAAA;QAEH,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,OAAsB;QAClC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAE1F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;QAClE,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;QAE1E,MAAM,OAAO,GAAG;YACd,gBAAgB,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE;YACvC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB;YAC/H,qBAAqB,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,KAC9F,6BAA6B,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,eAAe,CAAC,GAAG,MAAM,CAChG,EAAE;YACF,cAAc,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1D,wBAAwB,EAAE,SAAS;YACnC,eAAe,EAAE,OAAO;SACzB,CAAA;QAED,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,OAAO,sBAAsB,CAAC,QAAQ,EAAE,KAAK,SAAU,CAAC,EAAE,MAAM,EAAE,MAAM;gBACtE,MAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;YAC/C,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE;gBAClC,OAAO;aACR,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE;YACjC,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-unixfs.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-unixfs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-handle-unixfs.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-unixfs.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,aAAa,CAAA;AA6B1D;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,QAAQ,CAAC,EAAE,mBAAkB;IAC7B,QAAQ,CAAC,KAAK,WAAwB;IAEtC,SAAS,CAAE,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO;IASzD,MAAM,CAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;YAoG1C,UAAU;YA6CV,iBAAiB;CAqChC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { code as dagPbCode } from '@ipld/dag-pb';
|
|
2
2
|
import { isPromise } from '@libp2p/utils';
|
|
3
|
-
import { exporter } from 'ipfs-unixfs-exporter';
|
|
3
|
+
import { exporter, walkPath } from 'ipfs-unixfs-exporter';
|
|
4
4
|
import first from 'it-first';
|
|
5
|
+
import last from 'it-last';
|
|
5
6
|
import itToBrowserReadableStream from 'it-to-browser-readablestream';
|
|
6
7
|
import toBuffer from 'it-to-buffer';
|
|
7
8
|
import * as raw from 'multiformats/codecs/raw';
|
|
@@ -12,7 +13,7 @@ import { BasePlugin } from './plugin-base.js';
|
|
|
12
13
|
/**
|
|
13
14
|
* @see https://specs.ipfs.tech/http-gateways/path-gateway/#use-in-directory-url-normalization
|
|
14
15
|
*/
|
|
15
|
-
function
|
|
16
|
+
function getDirectoryRedirectUrl(resource, url) {
|
|
16
17
|
let uri;
|
|
17
18
|
try {
|
|
18
19
|
// try the requested resource
|
|
@@ -23,7 +24,7 @@ function getRedirectUrl(resource, url, terminalElement) {
|
|
|
23
24
|
uri = url;
|
|
24
25
|
}
|
|
25
26
|
// directories must be requested with a trailing slash
|
|
26
|
-
if (
|
|
27
|
+
if (!uri.pathname.endsWith('/')) {
|
|
27
28
|
// make sure we append slash to end of the path
|
|
28
29
|
uri.pathname += '/';
|
|
29
30
|
return uri.toString();
|
|
@@ -42,11 +43,24 @@ export class UnixFSPlugin extends BasePlugin {
|
|
|
42
43
|
return supportsCid && supportsAccept;
|
|
43
44
|
}
|
|
44
45
|
async handle(context) {
|
|
45
|
-
let { url, resource, terminalElement, ipfsRoots } = context;
|
|
46
|
+
let { url, resource, terminalElement, ipfsRoots, blockstore } = context;
|
|
46
47
|
let filename = url.searchParams.get('filename') ?? terminalElement.name;
|
|
47
48
|
let redirected;
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
let entry;
|
|
50
|
+
try {
|
|
51
|
+
entry = await exporter(terminalElement.cid, blockstore, context.options);
|
|
52
|
+
}
|
|
53
|
+
catch (err) {
|
|
54
|
+
// throw abort error if signal was aborted
|
|
55
|
+
context?.options?.signal?.throwIfAborted();
|
|
56
|
+
if (err.name === 'BlockNotFoundWhileOfflineError') {
|
|
57
|
+
throw err;
|
|
58
|
+
}
|
|
59
|
+
this.log.error('could not export %c - $e', terminalElement.cid, err);
|
|
60
|
+
return badGatewayResponse(resource, 'Unable to stream content');
|
|
61
|
+
}
|
|
62
|
+
if (entry.type === 'directory') {
|
|
63
|
+
const redirectUrl = getDirectoryRedirectUrl(resource, url);
|
|
50
64
|
if (redirectUrl != null) {
|
|
51
65
|
this.log.trace('directory url normalization spec requires redirect');
|
|
52
66
|
if (context.options?.redirect === 'error') {
|
|
@@ -67,15 +81,19 @@ export class UnixFSPlugin extends BasePlugin {
|
|
|
67
81
|
if (context.options?.supportDirectoryIndexes !== false) {
|
|
68
82
|
const rootFilePath = 'index.html';
|
|
69
83
|
try {
|
|
70
|
-
this.log.trace('found directory at %c
|
|
71
|
-
const
|
|
72
|
-
if (
|
|
84
|
+
this.log.trace('found directory at %c%s, looking for index.html', dirCid, url.pathname);
|
|
85
|
+
const indexFile = await context.serverTiming.time('exporter-dir', '', last(walkPath(`/ipfs/${dirCid}/${rootFilePath}`, context.blockstore, context.options)));
|
|
86
|
+
if (indexFile == null) {
|
|
87
|
+
return badGatewayResponse(resource, 'Unable to stream content');
|
|
88
|
+
}
|
|
89
|
+
const indexFileEntry = await context.serverTiming.time('exporter-dir', '', exporter(indexFile.cid, context.blockstore, context.options));
|
|
90
|
+
if (indexFileEntry.type !== 'file' && indexFileEntry.type !== 'raw' && indexFileEntry.type !== 'identity') {
|
|
73
91
|
return badGatewayResponse(resource, 'Unable to stream content');
|
|
74
92
|
}
|
|
75
93
|
// use `index.html` as the file name to help with content types
|
|
76
94
|
filename = rootFilePath;
|
|
77
|
-
this.log.trace('found directory index at %c
|
|
78
|
-
return await this.streamFile(resource,
|
|
95
|
+
this.log.trace('found directory index at %c%s with cid %c', dirCid, rootFilePath, entry.cid);
|
|
96
|
+
return await this.streamFile(resource, indexFileEntry, filename, ipfsRoots, redirected, context.range, context.options);
|
|
79
97
|
}
|
|
80
98
|
catch (err) {
|
|
81
99
|
if (err.name !== 'NotFoundError') {
|
|
@@ -97,12 +115,12 @@ export class UnixFSPlugin extends BasePlugin {
|
|
|
97
115
|
redirected
|
|
98
116
|
});
|
|
99
117
|
}
|
|
100
|
-
else if (
|
|
118
|
+
else if (entry.type === 'file' || entry.type === 'raw' || entry.type === 'identity') {
|
|
101
119
|
this.log('streaming file');
|
|
102
|
-
return this.streamFile(resource,
|
|
120
|
+
return this.streamFile(resource, entry, filename, ipfsRoots, redirected, context.range, context.options);
|
|
103
121
|
}
|
|
104
122
|
else {
|
|
105
|
-
this.log.error('cannot stream terminal element type %s',
|
|
123
|
+
this.log.error('cannot stream terminal element type %s', entry.type);
|
|
106
124
|
return badGatewayResponse(resource, 'Unable to stream content');
|
|
107
125
|
}
|
|
108
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-unixfs.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-unixfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin-handle-unixfs.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-unixfs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,yBAAyB,MAAM,8BAA8B,CAAA;AACpE,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAC9C,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AAC5F,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACxH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAO7C;;GAEG;AACH,SAAS,uBAAuB,CAAE,QAAkB,EAAE,GAAQ;IAC5D,IAAI,GAAQ,CAAA;IAEZ,IAAI,CAAC;QACH,6BAA6B;QAC7B,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;QACjC,GAAG,GAAG,GAAG,CAAA;IACX,CAAC;IAED,sDAAsD;IACtD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,+CAA+C;QAC/C,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAA;QAEnB,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,UAAU;IACjC,EAAE,GAAG,eAAe,CAAA;IACpB,KAAK,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAEtC,SAAS,CAAE,EAAE,eAAe,EAAE,MAAM,EAAiB;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,uBAAuB;YAC1H,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,iBAAiB,CACnD,CAAA;QAED,OAAO,WAAW,IAAI,cAAc,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,OAAsB;QAClC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;QACvE,IAAI,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,IAAI,CAAA;QACvE,IAAI,UAA4B,CAAA;QAChC,IAAI,KAAkB,CAAA;QAEtB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAC1E,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,0CAA0C;YAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;YAE1C,IAAI,GAAG,CAAC,IAAI,KAAK,gCAAgC,EAAE,CAAC;gBAClD,MAAM,GAAG,CAAA;YACX,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACpE,OAAO,kBAAkB,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;YAE1D,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAA;gBAEpE,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC1C,IAAI,CAAC,GAAG,CAAC,gEAAgE,EAAE,WAAW,CAAC,CAAA;oBACvF,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAA;gBACxC,CAAC;qBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAClD,IAAI,CAAC,GAAG,CAAC,wCAAwC,EAAE,WAAW,CAAC,CAAA;oBAC/D,OAAO,wBAAwB,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAChE,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,WAAW,CAAC,CAAA;gBAEjD,iDAAiD;gBACjD,QAAQ,GAAG,WAAW,CAAA;gBACtB,UAAU,GAAG,IAAI,CAAA;YACnB,CAAC;YAED,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAA;YAElC,+DAA+D;YAC/D,IAAI,OAAO,CAAC,OAAO,EAAE,uBAAuB,KAAK,KAAK,EAAE,CAAC;gBACvD,MAAM,YAAY,GAAG,YAAY,CAAA;gBAEjC,IAAI,CAAC;oBACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;oBAEvF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,MAAM,IAAI,YAAY,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;oBAE7J,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;wBACtB,OAAO,kBAAkB,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAA;oBACjE,CAAC;oBAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;oBAExI,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,CAAC,IAAI,KAAK,KAAK,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC1G,OAAO,kBAAkB,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAA;oBACjE,CAAC;oBAED,+DAA+D;oBAC/D,QAAQ,GAAG,YAAY,CAAA;oBAEvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;oBAE5F,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;gBACzH,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;wBACjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,CAAA;wBAC1E,MAAM,GAAG,CAAA;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oDAAoD;YACpD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;YAE7E,OAAO,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE;gBACjC,OAAO,EAAE;oBACP,cAAc,EAAE,iBAAiB;oBACjC,gBAAgB,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE;oBACvC,qBAAqB,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,KAC7F,6BAA6B,CAAC,GAAG,MAAM,MAAM,CAC/C,EAAE;oBACF,cAAc,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC1D,eAAe,EAAE,OAAO;iBACzB;gBACD,UAAU;aACX,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtF,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;YAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAC1G,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YACpE,OAAO,kBAAkB,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAE,QAAkB,EAAE,KAA0C,EAAE,QAAgB,EAAE,SAAgB,EAAE,UAAoB,EAAE,WAAyB,EAAE,OAAsB;QACnM,IAAI,WAAW,GAAG,uBAAuB,CAAA;QAEzC,0EAA0E;QAC1E,wCAAwC;QACxC,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QACtE,CAAC;QAED,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,OAAO,sBAAsB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACzD,OAAO,KAAK,CAAC,OAAO,CAAC;oBACnB,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;oBAClB,MAAM;oBACN,MAAM;iBACP,CAAC,CAAA;YACJ,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE;gBAC1B,OAAO,EAAE;oBACP,cAAc,EAAE,WAAW;oBAC3B,qBAAqB,EAAE,WACrB,6BAA6B,CAAC,QAAQ,CACxC,EAAE;oBACF,cAAc,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC1D,eAAe,EAAE,OAAO;iBACzB;gBACD,UAAU;aACX,CAAC,CAAA;QACJ,CAAC;QAED,wEAAwE;QACxE,wDAAwD;QACxD,OAAO,UAAU,CAAC,QAAQ,EAAE,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE;YAC7E,OAAO,EAAE;gBACP,cAAc,EAAE,WAAW;gBAC3B,gBAAgB,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;gBACjC,qBAAqB,EAAE,WACrB,6BAA6B,CAAC,QAAQ,CACxC,EAAE;gBACF,cAAc,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1D,eAAe,EAAE,OAAO;aACzB;YACD,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAE,KAA0C,EAAE,QAAiB,EAAE,OAAsB;QACpH,IAAI,GAA2B,CAAA;QAE/B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACtD,GAAG,GAAG,KAAK,CAAC,IAAI,CAAA;QAClB,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,WAA+B,CAAA;QAEnC,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;gBAElE,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAA;oBAE3B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;wBACnB,WAAW,GAAG,MAAM,CAAA;oBACtB,CAAC;gBACH,CAAC;qBAAM,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBAC1B,WAAW,GAAG,MAAM,CAAA;gBACtB,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qDAAqD,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;YAC9F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;QAED,OAAO,WAAW,IAAI,uBAAuB,CAAA;IAC/C,CAAC;CACF"}
|
|
@@ -6,10 +6,10 @@ import type { IPNSResolver } from '@helia/ipns';
|
|
|
6
6
|
import type { AbortOptions } from '@libp2p/interface';
|
|
7
7
|
import type { Helia } from 'helia';
|
|
8
8
|
import type { Blockstore } from 'interface-blockstore';
|
|
9
|
-
import type {
|
|
9
|
+
import type { PathEntry } from 'ipfs-unixfs-exporter';
|
|
10
10
|
export interface WalkPathResult {
|
|
11
11
|
ipfsRoots: CID[];
|
|
12
|
-
terminalElement:
|
|
12
|
+
terminalElement: PathEntry;
|
|
13
13
|
blockstore: Blockstore;
|
|
14
14
|
}
|
|
15
15
|
export interface URLResolverComponents {
|
|
@@ -24,7 +24,6 @@ export interface URLResolverInit {
|
|
|
24
24
|
export interface ResolveURLOptions extends AbortOptions {
|
|
25
25
|
session?: boolean;
|
|
26
26
|
isRawBlockRequest?: boolean;
|
|
27
|
-
onlyIfCached?: boolean;
|
|
28
27
|
}
|
|
29
28
|
export declare class URLResolver implements URLResolverInterface {
|
|
30
29
|
private readonly components;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-resolver.d.ts","sourceRoot":"","sources":["../../src/url-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"url-resolver.d.ts","sourceRoot":"","sources":["../../src/url-resolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,IAAI,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACvF,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,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,KAAK,EAAqB,MAAM,OAAO,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AASrD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,GAAG,EAAE,CAAA;IAChB,eAAe,EAAE,SAAS,CAAA;IAC1B,UAAU,EAAE,UAAU,CAAA;CACvB;AAcD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,KAAK,CAAA;IACZ,YAAY,EAAE,YAAY,CAAA;IAC1B,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,qBAAa,WAAY,YAAW,oBAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqC;gBAE3D,UAAU,EAAE,qBAAqB,EAAE,IAAI,GAAE,eAAoB;IAYpE,OAAO,CAAE,GAAG,EAAE,GAAG,EAAE,YAAY,GAAE,YAAiC,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgBrI,OAAO,CAAC,aAAa;YAgBP,cAAc;YAiCd,eAAe;YAmBf,eAAe;YAWf,QAAQ;CAuCvB"}
|
package/dist/src/url-resolver.js
CHANGED
|
@@ -1,44 +1,21 @@
|
|
|
1
1
|
import { DoesNotExistError } from '@helia/unixfs/errors';
|
|
2
|
-
import * as dagCbor from '@ipld/dag-cbor';
|
|
3
|
-
import * as dagJson from '@ipld/dag-json';
|
|
4
|
-
import * as dagPb from '@ipld/dag-pb';
|
|
5
2
|
import { peerIdFromString } from '@libp2p/peer-id';
|
|
6
3
|
import { InvalidParametersError, walkPath } from 'ipfs-unixfs-exporter';
|
|
7
|
-
import toBuffer from 'it-to-buffer';
|
|
8
4
|
import { CID } from 'multiformats/cid';
|
|
9
|
-
import * as json from 'multiformats/codecs/json';
|
|
10
|
-
import * as raw from 'multiformats/codecs/raw';
|
|
11
5
|
import QuickLRU from 'quick-lru';
|
|
12
|
-
import { SESSION_CACHE_MAX_SIZE, SESSION_CACHE_TTL_MS
|
|
6
|
+
import { SESSION_CACHE_MAX_SIZE, SESSION_CACHE_TTL_MS } from "./constants.js";
|
|
13
7
|
import { ServerTiming } from "./utils/server-timing.js";
|
|
14
8
|
// 1 year in seconds for ipfs content
|
|
15
9
|
const IPFS_CONTENT_TTL = 29030400;
|
|
16
|
-
|
|
17
|
-
CODEC_CBOR,
|
|
18
|
-
json.code,
|
|
19
|
-
raw.code
|
|
20
|
-
];
|
|
21
|
-
/**
|
|
22
|
-
* These are supported by the UnixFS exporter
|
|
23
|
-
*/
|
|
24
|
-
const EXPORTABLE_CODECS = [
|
|
25
|
-
dagPb.code,
|
|
26
|
-
dagCbor.code,
|
|
27
|
-
dagJson.code,
|
|
28
|
-
raw.code
|
|
29
|
-
];
|
|
30
|
-
function basicEntry(type, cid, bytes) {
|
|
10
|
+
function basicEntry(cid) {
|
|
31
11
|
return {
|
|
12
|
+
cid,
|
|
32
13
|
name: cid.toString(),
|
|
33
14
|
path: cid.toString(),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
size: BigInt(bytes.byteLength),
|
|
39
|
-
content: async function* () {
|
|
40
|
-
yield bytes;
|
|
41
|
-
}
|
|
15
|
+
roots: [
|
|
16
|
+
cid
|
|
17
|
+
],
|
|
18
|
+
remainder: []
|
|
42
19
|
};
|
|
43
20
|
}
|
|
44
21
|
export class URLResolver {
|
|
@@ -131,15 +108,13 @@ export class URLResolver {
|
|
|
131
108
|
async walkPath(url, options = {}) {
|
|
132
109
|
const cid = CID.parse(url.hostname);
|
|
133
110
|
const blockstore = this.getBlockstore(cid, options);
|
|
134
|
-
|
|
111
|
+
try {
|
|
135
112
|
const ipfsRoots = [];
|
|
136
113
|
let terminalElement;
|
|
137
114
|
const ipfsPath = toIPFSPath(url);
|
|
138
|
-
// @ts-expect-error offline is a helia option
|
|
139
115
|
for await (const entry of walkPath(ipfsPath, blockstore, {
|
|
140
116
|
...options,
|
|
141
|
-
|
|
142
|
-
extended: options.isRawBlockRequest !== true
|
|
117
|
+
yieldSubShards: true
|
|
143
118
|
})) {
|
|
144
119
|
ipfsRoots.push(entry.cid);
|
|
145
120
|
terminalElement = entry;
|
|
@@ -153,28 +128,17 @@ export class URLResolver {
|
|
|
153
128
|
blockstore
|
|
154
129
|
};
|
|
155
130
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
return {
|
|
167
|
-
ipfsRoots: [cid],
|
|
168
|
-
terminalElement: basicEntry('object', cid, bytes),
|
|
169
|
-
blockstore
|
|
170
|
-
};
|
|
131
|
+
catch (err) {
|
|
132
|
+
if (err.name === 'NoResolverError') {
|
|
133
|
+
// may be an unknown codec
|
|
134
|
+
return {
|
|
135
|
+
ipfsRoots: [cid],
|
|
136
|
+
terminalElement: basicEntry(cid),
|
|
137
|
+
blockstore
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
throw err;
|
|
171
141
|
}
|
|
172
|
-
// may be an unknown codec
|
|
173
|
-
return {
|
|
174
|
-
ipfsRoots: [cid],
|
|
175
|
-
terminalElement: basicEntry('raw', cid, bytes),
|
|
176
|
-
blockstore
|
|
177
|
-
};
|
|
178
142
|
}
|
|
179
143
|
}
|
|
180
144
|
function toIPFSPath(url) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"url-resolver.js","sourceRoot":"","sources":["../../src/url-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"url-resolver.js","sourceRoot":"","sources":["../../src/url-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AASvD,qCAAqC;AACrC,MAAM,gBAAgB,GAAG,QAAQ,CAAA;AAYjC,SAAS,UAAU,CAAE,GAAQ;IAC3B,OAAO;QACL,GAAG;QACH,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE;QACpB,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE;QACpB,KAAK,EAAE;YACL,GAAG;SACJ;QACD,SAAS,EAAE,EAAE;KACd,CAAA;AACH,CAAC;AAkBD,MAAM,OAAO,WAAW;IACL,UAAU,CAAuB;IACjC,kBAAkB,CAAqC;IAExE,YAAa,UAAiC,EAAE,OAAwB,EAAE;QACxE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAE5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,QAAQ,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,gBAAgB,IAAI,sBAAsB;YACxD,MAAM,EAAE,IAAI,CAAC,YAAY,IAAI,oBAAoB;YACjD,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACzB,KAAK,CAAC,KAAK,EAAE,CAAA;YACf,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,GAAQ,EAAE,eAA6B,IAAI,YAAY,EAAE,EAAE,UAA6B,EAAE;QACvG,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,IAAI,sBAAsB,CAAC,oFAAoF,GAAG,EAAE,CAAC,CAAA;IAC7H,CAAC;IAEO,aAAa,CAAE,IAAS,EAAE,UAAgC,EAAE;QAClE,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAA;QACzC,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ,IAAI,EAAE,CAAA;QAC1B,IAAI,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAE9C,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACvE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAE,GAAQ,EAAE,YAA0B,EAAE,OAA2B;QAC7F,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,iBAAiB,EAAE,mBAAmB,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;QACrJ,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QAE3B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,SAAS,CAAC,yDAAyD,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9F,CAAC;QAED,gCAAgC;QAChC,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YAChC,gEAAgE;YAChE,MAAM,IAAI,SAAS,CAAC,kDAAkD,MAAM,CAAC,SAAS,iBAAiB,MAAM,EAAE,CAAC,CAAA;QAClH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;YACzE,iBAAiB;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QAE7E,OAAO;YACL,GAAG,UAAU;YACb,GAAG;YACH,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG;SACvB,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAE,GAAQ,EAAE,YAA0B,EAAE,OAA2B;QAC9F,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,qBAAqB,MAAM,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QAE5I,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,CAAC;YACzE,iBAAiB;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QAE7E,OAAO;YACL,GAAG,UAAU;YACb,GAAG;YACH,iDAAiD;YACjD,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;SACrD,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAE,GAAQ,EAAE,YAA0B,EAAE,OAA2B;QAC9F,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAA;QAE/F,OAAO;YACL,GAAG,cAAc;YACjB,GAAG;YACH,GAAG,EAAE,gBAAgB;YACrB,UAAU,EAAE,cAAc,CAAC,UAAU;SACtC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAE,GAAQ,EAAE,UAA6B,EAAE;QAC/D,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEnD,IAAI,CAAC;YACH,MAAM,SAAS,GAAU,EAAE,CAAA;YAC3B,IAAI,eAAsC,CAAA;YAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;YAEhC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE;gBACvD,GAAG,OAAO;gBACV,cAAc,EAAE,IAAI;aACrB,CAAC,EAAE,CAAC;gBACH,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACzB,eAAe,GAAG,KAAK,CAAA;YACzB,CAAC;YAED,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,iBAAiB,CAAC,2BAA2B,CAAC,CAAA;YAC1D,CAAC;YAED,OAAO;gBACL,SAAS;gBACT,eAAe;gBACf,UAAU;aACX,CAAA;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACnC,0BAA0B;gBAC1B,OAAO;oBACL,SAAS,EAAE,CAAC,GAAG,CAAC;oBAChB,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC;oBAChC,UAAU;iBACX,CAAA;YACH,CAAC;YAED,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;CACF;AAED,SAAS,UAAU,CAAE,GAAQ;IAC3B,OAAO,SAAS,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAA;AAC1D,CAAC"}
|
|
@@ -19,7 +19,7 @@ export function errorToResponse(resource, err, init) {
|
|
|
19
19
|
return gatewayTimeoutResponse(resource, err);
|
|
20
20
|
}
|
|
21
21
|
// path was not under DAG root
|
|
22
|
-
if (['
|
|
22
|
+
if (['ERR_BAD_PATH', 'ERR_NO_TERMINAL_ELEMENT', 'ERR_NOT_FOUND'].includes(err.code)) {
|
|
23
23
|
return notFoundResponse(resource);
|
|
24
24
|
}
|
|
25
25
|
// path was not under DAG root
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-to-response.js","sourceRoot":"","sources":["../../../src/utils/error-to-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAGtJ,MAAM,UAAU,eAAe,CAAE,QAA2B,EAAE,GAAQ,EAAE,IAAkB;IACxF,uDAAuD;IACvD,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAE9B,uBAAuB;IACvB,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,GAAG,CAAA;IACX,CAAC;IAED,gEAAgE;IAChE,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACnG,OAAO,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,gEAAgE;IAChE,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC1C,CAAC;IAED,0EAA0E;IAC1E,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC3D,OAAO,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"error-to-response.js","sourceRoot":"","sources":["../../../src/utils/error-to-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAGtJ,MAAM,UAAU,eAAe,CAAE,QAA2B,EAAE,GAAQ,EAAE,IAAkB;IACxF,uDAAuD;IACvD,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IAE9B,uBAAuB;IACvB,IAAI,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,GAAG,CAAA;IACX,CAAC;IAED,gEAAgE;IAChE,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QACnG,OAAO,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,gEAAgE;IAChE,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,kBAAkB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC1C,CAAC;IAED,0EAA0E;IAC1E,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC3D,OAAO,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,cAAc,EAAE,yBAAyB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAED,IAAI,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,qDAAqD;IACrD,OAAO,2BAA2B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;AACnD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-tar-stream.d.ts","sourceRoot":"","sources":["../../../src/utils/get-tar-stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-tar-stream.d.ts","sourceRoot":"","sources":["../../../src/utils/get-tar-stream.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AA6CtD,wBAAwB,SAAS,CAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,CAgC/H"}
|