@helia/verified-fetch 5.0.3 → 5.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 +44 -44
- package/dist/index.min.js.map +3 -3
- package/dist/src/index.d.ts +8 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/plugins/plugin-handle-car.js +4 -4
- package/dist/src/plugins/plugin-handle-car.js.map +1 -1
- package/dist/src/plugins/plugin-handle-ipld.js +2 -2
- package/dist/src/plugins/plugin-handle-ipld.js.map +1 -1
- package/dist/src/utils/error-to-response.d.ts.map +1 -1
- package/dist/src/utils/error-to-response.js +4 -8
- package/dist/src/utils/error-to-response.js.map +1 -1
- package/dist/src/utils/get-e-tag.d.ts +1 -0
- package/dist/src/utils/get-e-tag.d.ts.map +1 -1
- package/dist/src/utils/get-e-tag.js +15 -0
- package/dist/src/utils/get-e-tag.js.map +1 -1
- package/dist/src/utils/responses.d.ts +2 -1
- package/dist/src/utils/responses.d.ts.map +1 -1
- package/dist/src/utils/responses.js +29 -1
- package/dist/src/utils/responses.js.map +1 -1
- package/dist/src/verified-fetch.d.ts +4 -0
- package/dist/src/verified-fetch.d.ts.map +1 -1
- package/dist/src/verified-fetch.js +69 -78
- package/dist/src/verified-fetch.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +9 -1
- package/src/plugins/plugin-handle-car.ts +4 -4
- package/src/plugins/plugin-handle-ipld.ts +2 -2
- package/src/utils/error-to-response.ts +4 -8
- package/src/utils/get-e-tag.ts +20 -0
- package/src/utils/responses.ts +35 -1
- package/src/verified-fetch.ts +87 -94
package/dist/src/index.d.ts
CHANGED
|
@@ -773,6 +773,7 @@
|
|
|
773
773
|
*/
|
|
774
774
|
import type { RangeHeader } from './utils/get-range-header.ts';
|
|
775
775
|
import type { ServerTiming } from './utils/server-timing.ts';
|
|
776
|
+
import type { RequestedMimeType } from './verified-fetch.js';
|
|
776
777
|
import type { DNSLink, ResolveProgressEvents as ResolveDNSLinkProgressEvents } from '@helia/dnslink';
|
|
777
778
|
import type { GetBlockProgressEvents, Helia } from '@helia/interface';
|
|
778
779
|
import type { ResolveProgressEvents as ResolveIPNSNameProgressEvents, IPNSRoutingProgressEvents, IPNSResolver } from '@helia/ipns';
|
|
@@ -844,9 +845,15 @@ export interface PluginContext extends ResolveURLResult {
|
|
|
844
845
|
*/
|
|
845
846
|
readonly resource: string;
|
|
846
847
|
/**
|
|
847
|
-
* These are the response representations that
|
|
848
|
+
* These are the response representations that the user requested and we
|
|
849
|
+
* support given the CID that is being requested
|
|
848
850
|
*/
|
|
849
851
|
readonly accept: AcceptHeader[];
|
|
852
|
+
/**
|
|
853
|
+
* The mime types and options the user requested - these may be different from
|
|
854
|
+
* the allowed response representations in `PluginContext.accept`
|
|
855
|
+
*/
|
|
856
|
+
readonly requestedMimeTypes: RequestedMimeType[];
|
|
850
857
|
/**
|
|
851
858
|
* If present the user requested a subset of bytes using the Range header
|
|
852
859
|
*/
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export class CarPlugin extends BasePlugin {
|
|
|
37
37
|
return accept.some(header => header.contentType.mediaType === MEDIA_TYPE_CAR);
|
|
38
38
|
}
|
|
39
39
|
async handle(context) {
|
|
40
|
-
const { options, url, accept, resource, blockstore, range, ipfsRoots, terminalElement } = context;
|
|
40
|
+
const { options, url, accept, resource, blockstore, range, ipfsRoots, terminalElement, requestedMimeTypes } = context;
|
|
41
41
|
if (range != null) {
|
|
42
42
|
return badRequestResponse(resource, new Error('Range requests are not supported for CAR files'));
|
|
43
43
|
}
|
|
@@ -47,11 +47,11 @@ export class CarPlugin extends BasePlugin {
|
|
|
47
47
|
if (acceptCar == null) {
|
|
48
48
|
return badRequestResponse(resource, new Error('Could not find CAR media type in accept header'));
|
|
49
49
|
}
|
|
50
|
-
const order = acceptCar.options.order === 'dfs'
|
|
51
|
-
const duplicates = acceptCar.options.dups !== 'n'
|
|
50
|
+
const order = acceptCar.options.order === 'dfs' ? 'dfs' : 'unk';
|
|
51
|
+
const duplicates = acceptCar.options.dups !== 'n';
|
|
52
52
|
// TODO: `@ipld/car` only supports CARv1
|
|
53
53
|
if (acceptCar.options.version === '2' || url.searchParams.get('car-version') === '2') {
|
|
54
|
-
return notAcceptableResponse(resource, [
|
|
54
|
+
return notAcceptableResponse(resource, requestedMimeTypes, [
|
|
55
55
|
CONTENT_TYPE_CAR
|
|
56
56
|
]);
|
|
57
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-car.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-car.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChI,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,uBAAuB,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAI7C,SAAS,WAAW,CAAE,QAAgB;IACpC,0GAA0G;IAC1G,MAAM,QAAQ,GAAG,QAAQ;SACtB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAEtB,OAAO,GAAG,QAAQ,MAAM,CAAA;AAC1B,CAAC;AAOD,SAAS,WAAW,CAAE,EAAE,GAAG,EAAiB;IAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAElD,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxE,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,oCAAoC;IACpC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IAC9B,EAAE,GAAG,YAAY,CAAA;IAE1B,SAAS,CAAE,EAAE,MAAM,EAAiB;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,cAAc,CAAC,CAAA;IAC/E,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,OAAsB;QAClC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin-handle-car.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-car.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export class IpldPlugin extends BasePlugin {
|
|
|
37
37
|
return supportsCid && supportsAccept;
|
|
38
38
|
}
|
|
39
39
|
async handle(context) {
|
|
40
|
-
const { url, resource, accept, ipfsRoots, terminalElement, blockstore, options } = context;
|
|
40
|
+
const { url, resource, accept, ipfsRoots, terminalElement, blockstore, options, requestedMimeTypes } = context;
|
|
41
41
|
this.log.trace('fetching %c/%s', terminalElement.cid, url.pathname);
|
|
42
42
|
let block;
|
|
43
43
|
if (terminalElement.node == null) {
|
|
@@ -58,7 +58,7 @@ export class IpldPlugin extends BasePlugin {
|
|
|
58
58
|
}
|
|
59
59
|
catch (err) {
|
|
60
60
|
this.log.error('could not decode object from block - %e', err);
|
|
61
|
-
return notAcceptableResponse(resource, getContentTypesForCid(terminalElement.cid));
|
|
61
|
+
return notAcceptableResponse(resource, requestedMimeTypes, getContentTypesForCid(terminalElement.cid));
|
|
62
62
|
}
|
|
63
63
|
const headers = {
|
|
64
64
|
'content-length': `${block.byteLength}`,
|
|
@@ -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,uBAAuB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACtL,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAG7C;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,UAAU;IAC/B,EAAE,GAAG,aAAa,CAAA;IAClB,KAAK,GAAG;QACf,UAAU;QACV,WAAW,CAAC,IAAI;QAChB,WAAW,CAAC,IAAI;QAChB,IAAI,CAAC,IAAI;QACT,GAAG,CAAC,IAAI;QACR,KAAK,CAAC,IAAI;QACV,QAAQ,CAAC,IAAI;KACd,CAAA;IAED,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;YACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,eAAe;gBACpE,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,mBAAmB;gBACpD,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,eAAe;gBAChD,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,mBAAmB;gBACpD,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,cAAc;gBAC/C,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,uBAAuB,CACzD,CAAA;QAEH,OAAO,WAAW,IAAI,cAAc,CAAA;IACtC,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;
|
|
1
|
+
{"version":3,"file":"plugin-handle-ipld.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-ipld.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-to-response.d.ts","sourceRoot":"","sources":["../../../src/utils/error-to-response.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"error-to-response.d.ts","sourceRoot":"","sources":["../../../src/utils/error-to-response.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,wBAAgB,eAAe,CAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,CAyChF"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { badGatewayResponse, gatewayTimeoutResponse, internalServerErrorResponse, notAcceptableResponse, notFoundResponse, preconditionFailedResponse } from './responses.js';
|
|
1
|
+
import { badGatewayResponse, gatewayTimeoutResponse, internalServerErrorResponse, notFoundResponse, preconditionFailedResponse } from './responses.js';
|
|
3
2
|
export function errorToResponse(resource, err) {
|
|
4
3
|
// if a signal abort caused the error, throw the error
|
|
5
4
|
if (err.name === 'AbortError') {
|
|
@@ -7,14 +6,11 @@ export function errorToResponse(resource, err) {
|
|
|
7
6
|
}
|
|
8
7
|
// could not reach an upstream server, bad connection or offline
|
|
9
8
|
if (err.code === 'ECONNREFUSED' || err.code === 'ECANCELLED' || err.name === 'DNSQueryFailedError') {
|
|
10
|
-
return
|
|
9
|
+
return gatewayTimeoutResponse(resource.toString(), err);
|
|
11
10
|
}
|
|
12
11
|
// data was not parseable, user may be able to request raw block
|
|
13
12
|
if (['NotUnixFSError'].includes(err.name)) {
|
|
14
|
-
return
|
|
15
|
-
CONTENT_TYPE_RAW,
|
|
16
|
-
CONTENT_TYPE_OCTET_STREAM
|
|
17
|
-
]);
|
|
13
|
+
return badGatewayResponse(resource.toString(), err);
|
|
18
14
|
}
|
|
19
15
|
// an upstream server didn't respond in time but inside the signal timeout
|
|
20
16
|
if (err.code === 'ETIMEOUT' || err.name === 'TimeoutError') {
|
|
@@ -32,7 +28,7 @@ export function errorToResponse(resource, err) {
|
|
|
32
28
|
return preconditionFailedResponse(resource.toString());
|
|
33
29
|
}
|
|
34
30
|
if (['RecordNotFoundError', 'LoadBlockFailedError'].includes(err.name)) {
|
|
35
|
-
return
|
|
31
|
+
return gatewayTimeoutResponse(resource.toString(), err);
|
|
36
32
|
}
|
|
37
33
|
// can't tell what went wrong, return a generic error
|
|
38
34
|
return internalServerErrorResponse(resource.toString(), err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-to-response.js","sourceRoot":"","sources":["../../../src/utils/error-to-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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;IACpE,sDAAsD;IACtD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC9B,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,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAA;IACzD,CAAC;IAED,gEAAgE;IAChE,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAA;IACrD,CAAC;IAED,0EAA0E;IAC1E,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC3D,OAAO,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAA;IACzD,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,aAAa,EAAE,yBAAyB,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,OAAO,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1D,OAAO,0BAA0B,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAA;IACzD,CAAC;IAED,qDAAqD;IACrD,OAAO,2BAA2B,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAA;AAC9D,CAAC"}
|
|
@@ -30,5 +30,6 @@ interface GetETagArg {
|
|
|
30
30
|
* @see https://specs.ipfs.tech/http-gateways/path-gateway/#etag-response-header
|
|
31
31
|
*/
|
|
32
32
|
export declare function getETag({ cid, contentType, ranges, contentPrefix }: GetETagArg): string;
|
|
33
|
+
export declare function ifNoneMatches(etag: string, headers?: Headers): boolean;
|
|
33
34
|
export {};
|
|
34
35
|
//# sourceMappingURL=get-e-tag.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-e-tag.d.ts","sourceRoot":"","sources":["../../../src/utils/get-e-tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,UAAU,UAAU;IAClB;;OAEG;IACH,GAAG,EAAE,GAAG,CAAA;IAER;;OAEG;IACH,WAAW,EAAE,WAAW,CAAA;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAEhB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAE,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,UAAU,GAAG,MAAM,CAgBxF"}
|
|
1
|
+
{"version":3,"file":"get-e-tag.d.ts","sourceRoot":"","sources":["../../../src/utils/get-e-tag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAE3C,UAAU,UAAU;IAClB;;OAEG;IACH,GAAG,EAAE,GAAG,CAAA;IAER;;OAEG;IACH,WAAW,EAAE,WAAW,CAAA;IAExB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAEhB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAE,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,UAAU,GAAG,MAAM,CAgBxF;AAED,wBAAgB,aAAa,CAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAkBvE"}
|
|
@@ -22,4 +22,19 @@ export function getETag({ cid, contentType, ranges, contentPrefix }) {
|
|
|
22
22
|
}
|
|
23
23
|
return `${prefix}"${contentPrefix ?? ''}${cid.toString()}${suffix}"`;
|
|
24
24
|
}
|
|
25
|
+
export function ifNoneMatches(etag, headers) {
|
|
26
|
+
const ifNoneMatch = (headers?.get('if-none-match') ?? '')
|
|
27
|
+
.split(',')
|
|
28
|
+
.map(tag => {
|
|
29
|
+
tag = tag.trim();
|
|
30
|
+
if (tag.startsWith('W/')) {
|
|
31
|
+
tag = tag.substring(2);
|
|
32
|
+
}
|
|
33
|
+
return tag;
|
|
34
|
+
});
|
|
35
|
+
if (etag.startsWith('W/')) {
|
|
36
|
+
etag = etag.substring(2);
|
|
37
|
+
}
|
|
38
|
+
return ifNoneMatch.includes('*') || ifNoneMatch.includes(etag);
|
|
39
|
+
}
|
|
25
40
|
//# sourceMappingURL=get-e-tag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-e-tag.js","sourceRoot":"","sources":["../../../src/utils/get-e-tag.ts"],"names":[],"mappings":"AA0BA;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAE,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAc;IAC9E,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAChD,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAA;IAE7B,IAAI,MAAM,EAAE,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,MAAM;aACvB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;QAE5D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,GAAG,WAAW;iBACxB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;iBACvD,IAAI,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,GAAG,MAAM,IAAI,aAAa,IAAI,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAA;AACtE,CAAC"}
|
|
1
|
+
{"version":3,"file":"get-e-tag.js","sourceRoot":"","sources":["../../../src/utils/get-e-tag.ts"],"names":[],"mappings":"AA0BA;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAE,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAc;IAC9E,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAChD,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,CAAA;IAE7B,IAAI,MAAM,EAAE,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,WAAW,GAAG,MAAM;aACvB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAA;QAE5D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,GAAG,WAAW;iBACxB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;iBACvD,IAAI,CAAC,GAAG,CAAC,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,GAAG,MAAM,IAAI,aAAa,IAAI,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,MAAM,GAAG,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,aAAa,CAAE,IAAY,EAAE,OAAiB;IAC5D,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;SACtD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,GAAG,CAAC,EAAE;QACT,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;QAEhB,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;IAEJ,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAChE,CAAC"}
|
|
@@ -15,10 +15,11 @@ export declare function gatewayTimeoutResponse(url: string, body?: SupportedBody
|
|
|
15
15
|
*/
|
|
16
16
|
export declare function badGatewayResponse(url: string, body?: SupportedBodyTypes, init?: ResponseInit): Response;
|
|
17
17
|
export declare function notImplementedResponse(url: string, body?: SupportedBodyTypes, init?: ResponseInit): Response;
|
|
18
|
-
export declare function notAcceptableResponse(url: string | URL, acceptable: ContentType
|
|
18
|
+
export declare function notAcceptableResponse(url: string | URL, requested: Array<Pick<ContentType, 'mediaType'>>, acceptable: Array<Pick<ContentType, 'mediaType'>>, init?: ResponseInit): Response;
|
|
19
19
|
export declare function notFoundResponse(url: string, body?: SupportedBodyTypes, init?: ResponseInit): Response;
|
|
20
20
|
export declare function badRequestResponse(url: string, errors: Error | Error[], init?: ResponseInit): Response;
|
|
21
21
|
export declare function movedPermanentlyResponse(url: string, location: string, init?: ResponseInit): Response;
|
|
22
|
+
export declare function notModifiedResponse(url: string, headers: Headers, init?: ResponseInit): Response;
|
|
22
23
|
export interface PartialContent {
|
|
23
24
|
/**
|
|
24
25
|
* Yield data from the content starting at `start` (or 0) inclusive and ending
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/utils/responses.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,KAAK,EAAS,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAkC/D,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,wBAAgB,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,QAAQ,CAepG;AAED,wBAAgB,2BAA2B,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAYlH;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAW7G;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAWzG;AAED,wBAAgB,sBAAsB,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAY7G;AAED,wBAAgB,qBAAqB,CAAE,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/utils/responses.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,KAAK,EAAS,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAkC/D,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,wBAAgB,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,QAAQ,CAepG;AAED,wBAAgB,2BAA2B,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAYlH;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAW7G;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAWzG;AAED,wBAAgB,sBAAsB,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAY7G;AAED,wBAAgB,qBAAqB,CAAE,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAkB5L;AAED,wBAAgB,gBAAgB,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAWvG;AAMD,wBAAgB,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAgCvG;AAED,wBAAgB,wBAAwB,CAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAetG;AAED,wBAAgB,mBAAmB,CAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CA+BjG;AAED,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;CAC7D;AAED,wBAAgB,sBAAsB,CAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,GAAG,QAAQ,CAmBlK;AAoGD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CAkB3H;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,QAAQ,CActF"}
|
|
@@ -90,10 +90,11 @@ export function notImplementedResponse(url, body, init) {
|
|
|
90
90
|
setUrl(response, url);
|
|
91
91
|
return response;
|
|
92
92
|
}
|
|
93
|
-
export function notAcceptableResponse(url, acceptable, init) {
|
|
93
|
+
export function notAcceptableResponse(url, requested, acceptable, init) {
|
|
94
94
|
const headers = new Headers(init?.headers);
|
|
95
95
|
headers.set('content-type', 'application/json');
|
|
96
96
|
const response = new Response(JSON.stringify({
|
|
97
|
+
requested: requested.map(contentType => contentType.mediaType),
|
|
97
98
|
acceptable: acceptable.map(contentType => contentType.mediaType)
|
|
98
99
|
}), {
|
|
99
100
|
...(init ?? {}),
|
|
@@ -161,6 +162,33 @@ export function movedPermanentlyResponse(url, location, init) {
|
|
|
161
162
|
setUrl(response, url);
|
|
162
163
|
return response;
|
|
163
164
|
}
|
|
165
|
+
export function notModifiedResponse(url, headers, init) {
|
|
166
|
+
const response = new Response(null, {
|
|
167
|
+
...(init ?? {}),
|
|
168
|
+
status: 304,
|
|
169
|
+
statusText: 'Not Modified'
|
|
170
|
+
});
|
|
171
|
+
// These fields would be present on a 200 and must be sent as part of a 304
|
|
172
|
+
// for the same resource
|
|
173
|
+
// https://www.rfc-editor.org/rfc/rfc9110.html#name-304-not-modified
|
|
174
|
+
const copyHeaders = [
|
|
175
|
+
'cache-control',
|
|
176
|
+
'content-location',
|
|
177
|
+
'date',
|
|
178
|
+
'etag',
|
|
179
|
+
'expires',
|
|
180
|
+
'vary'
|
|
181
|
+
];
|
|
182
|
+
copyHeaders.forEach(key => {
|
|
183
|
+
const value = headers.get(key);
|
|
184
|
+
if (value != null) {
|
|
185
|
+
response.headers.set(key, value);
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
setType(response, 'basic');
|
|
189
|
+
setUrl(response, url);
|
|
190
|
+
return response;
|
|
191
|
+
}
|
|
164
192
|
export function partialContentResponse(url, getSlice, range, documentSize, init) {
|
|
165
193
|
let response;
|
|
166
194
|
if (range.ranges.length === 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/utils/responses.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAI7D,SAAS,QAAQ,CAAE,QAAkB,EAAE,IAAY,EAAE,KAAuB;IAC1E,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE;QACpC,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,KAAK;QACnB,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;QACb,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK;KACjB,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,OAAO,CAAE,QAAkB,EAAE,KAA+D;IACnG,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IACnC,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAE,QAAkB,EAAE,KAAmB;IACtD,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAA;IACxB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAExC,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;QACvB,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,aAAa,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,QAAQ,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAE,QAAkB;IACxC,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;AACxC,CAAC;AAMD,MAAM,UAAU,UAAU,CAAE,GAAW,EAAE,IAAyB,EAAE,IAAsB;IACxF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;QAClC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,IAAI;KACjB,CAAC,CAAA;IAEF,IAAI,IAAI,EAAE,UAAU,KAAK,IAAI,EAAE,CAAC;QAC9B,aAAa,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAE,GAAW,EAAE,IAAyB,EAAE,IAAmB;IACtG,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;QAClC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,uBAAuB;KACpC,CAAC,CAAA;IACF,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA,CAAC,iGAAiG;IAE3J,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAE,GAAW,EAAE,IAAyB,EAAE,IAAmB;IACjG,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;QAClC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,iBAAiB;KAC9B,CAAC,CAAA;IAEF,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAE,GAAW,EAAE,IAAyB,EAAE,IAAmB;IAC7F,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;QAClC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,aAAa;KAC1B,CAAC,CAAA;IAEF,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAE,GAAW,EAAE,IAAyB,EAAE,IAAmB;IACjG,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;QAClC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,iBAAiB;KAC9B,CAAC,CAAA;IACF,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAA,CAAC,iGAAiG;IAE3J,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAE,GAAiB,EAAE,UAAyB,EAAE,IAAmB;IACtG,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;IAE/C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3C,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;KACjE,CAAC,EAAE;QACF,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,gBAAgB;QAC5B,OAAO;KACR,CAAC,CAAA;IAEF,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAE,GAAW,EAAE,IAAyB,EAAE,IAAmB;IAC3F,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;QAClC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,WAAW;KACxB,CAAC,CAAA;IAEF,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,eAAe,CAAE,IAA+B;IACvD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,KAAK,CAAC,CAAA;AACnE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAE,GAAW,EAAE,MAAuB,EAAE,IAAmB;IAC3F,mFAAmF;IACnF,IAAI,KAAyB,CAAA;IAC7B,IAAI,eAAsE,CAAA;IAE1E,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;QACvC,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;IACnF,CAAC;SAAM,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QACnC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QACpB,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAA;IAC5E,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC9B,KAAK;QACL,MAAM,EAAE,eAAe;KACxB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE;QACtC,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,aAAa;QACzB,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,OAAO,EAAE;YACP,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;YACxB,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAA;IAEF,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAE,GAAW,EAAE,QAAgB,EAAE,IAAmB;IAC1F,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE;QAClC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,mBAAmB;QAC/B,OAAO,EAAE;YACP,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;YACxB,QAAQ;SACT;KACF,CAAC,CAAA;IAEF,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAUD,MAAM,UAAU,sBAAsB,CAAE,GAAW,EAAE,QAAwB,EAAE,KAAkB,EAAE,YAA6B,EAAE,IAAsB;IACtJ,IAAI,QAAkB,CAAA;IAEtB,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,QAAQ,GAAG,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;IACpF,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,QAAQ,GAAG,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;IACzE,CAAC;SAAM,CAAC;QACN,OAAO,sBAAsB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,IAAI,EAAE,UAAU,KAAK,IAAI,EAAE,CAAC;QAC9B,aAAa,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAE,GAAW,EAAE,QAAwB,EAAE,KAAY,EAAE,YAA6B,EAAE,IAAsB;IACtI,IAAI,CAAC;QACH,2DAA2D;QAC3D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC1C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;QAEvF,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;QAE1C,wFAAwF;QACxF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,qBAAqB,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAEzF,MAAM,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QAElE,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC1B,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACf,MAAM,EAAE,GAAG;YACX,UAAU,EAAE,iBAAiB;YAC7B,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACrC,OAAO,sBAAsB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;QACxD,CAAC;QAED,OAAO,2BAA2B,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAE,GAAW,EAAE,QAAwB,EAAE,KAAkB,EAAE,YAA6B,EAAE,IAAsB;IAC3I,2DAA2D;IAC3D,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAE1C,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAE/C,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IACpD,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAE9B,IAAI,aAAa,GAAG,EAAE,CAAA;IAEtB,iDAAiD;IACjD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;QACvD,MAAM,MAAM,GAAG,oBAAoB,CAAC;YAClC,KAAK,KAAK,CAAC,iBAAiB,EAAE;YAE9B,iCAAiC;YACjC,iBAAiB,WAAW,EAAE;YAE9B,wFAAwF;YACxF,kBAAkB,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE;YACnE,EAAE;YACF,EAAE;SACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAEf,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;QAE/F,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,oBAAoB,CAAC;QACnC,KAAK,KAAK,CAAC,iBAAiB,IAAI;QAChC,EAAE;KACH,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAEf,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAE3C,+DAA+D;IAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,aAAa,EAAE,CAAC,CAAA;IAEjD,wCAAwC;IACxC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kCAAkC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAExF,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,SAAU,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,YAAY,CAAC,CAAC,CAAC,CAAA;YAErB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YAC3G,KAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAEhC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACpC,CAAC;QAED,MAAM,OAAO,CAAA;IACf,CAAC,EAAE,CAAC,CAAA;IAEJ,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;QAC1B,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,iBAAiB;QAC7B,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAE,GAAW,EAAE,YAAuC,EAAE,IAAmB;IAC/G,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAE1C,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,YAAY,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,uBAAuB,EAAE;QACrD,GAAG,IAAI;QACP,OAAO;QACP,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,uBAAuB;KACpC,CAAC,CAAA;IAEF,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAE,GAAW,EAAE,IAAmB;IAC1E,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAE1C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,qBAAqB,EAAE;QACnD,GAAG,IAAI;QACP,OAAO;QACP,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,qBAAqB;KAClC,CAAC,CAAA;IAEF,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC1B,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;IAErB,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../../src/utils/responses.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verified-fetch.d.ts","sourceRoot":"","sources":["../../src/verified-fetch.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAA8C,0BAA0B,EAAoB,QAAQ,EAAkB,iBAAiB,IAAI,oBAAoB,EAAqD,MAAM,YAAY,CAAA;AAElP,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAiD7C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+B;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;gBAE5B,KAAK,EAAE,KAAK,EAAE,IAAI,GAAE,0BAA+B;IA8ChE;;;;;;OAMG;IACG,KAAK,CAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"verified-fetch.d.ts","sourceRoot":"","sources":["../../src/verified-fetch.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAA8C,0BAA0B,EAAoB,QAAQ,EAAkB,iBAAiB,IAAI,oBAAoB,EAAqD,MAAM,YAAY,CAAA;AAElP,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAiD7C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+B;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;gBAE5B,KAAK,EAAE,KAAK,EAAE,IAAI,GAAE,0BAA+B;IA8ChE;;;;;;OAMG;IACG,KAAK,CAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+HhF;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkDvB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;YAiEb,iBAAiB;IA0E/B;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAI7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC"}
|
|
@@ -12,14 +12,14 @@ import { TarPlugin } from './plugins/plugin-handle-tar.js';
|
|
|
12
12
|
import { UnixFSPlugin } from './plugins/plugin-handle-unixfs.js';
|
|
13
13
|
import { URLResolver } from "./url-resolver.js";
|
|
14
14
|
import { contentTypeParser } from './utils/content-type-parser.js';
|
|
15
|
-
import { getContentType, getSupportedContentTypes, CONTENT_TYPE_OCTET_STREAM,
|
|
15
|
+
import { getContentType, getSupportedContentTypes, CONTENT_TYPE_OCTET_STREAM, MEDIA_TYPE_IPNS_RECORD, MEDIA_TYPE_RAW, CONTENT_TYPE_IPNS } from "./utils/content-types.js";
|
|
16
16
|
import { errorToObject } from "./utils/error-to-object.js";
|
|
17
17
|
import { errorToResponse } from "./utils/error-to-response.js";
|
|
18
|
-
import { getETag } from './utils/get-e-tag.js';
|
|
18
|
+
import { getETag, ifNoneMatches } from './utils/get-e-tag.js';
|
|
19
19
|
import { getRangeHeader } from "./utils/get-range-header.js";
|
|
20
20
|
import { parseURLString } from "./utils/parse-url-string.js";
|
|
21
21
|
import { setCacheControlHeader } from './utils/response-headers.js';
|
|
22
|
-
import { badRequestResponse, internalServerErrorResponse, notAcceptableResponse, notImplementedResponse } from './utils/responses.js';
|
|
22
|
+
import { badRequestResponse, internalServerErrorResponse, notAcceptableResponse, notImplementedResponse, notModifiedResponse } from './utils/responses.js';
|
|
23
23
|
import { ServerTiming } from './utils/server-timing.js';
|
|
24
24
|
/**
|
|
25
25
|
* Retypes the `.signal` property of the options from
|
|
@@ -135,17 +135,32 @@ export class VerifiedFetch {
|
|
|
135
135
|
catch (err) {
|
|
136
136
|
return this.handleFinalResponse(badRequestResponse(resource.toString(), err));
|
|
137
137
|
}
|
|
138
|
+
if (url.protocol === 'ipfs:' && url.pathname === '') {
|
|
139
|
+
// if we don't need to resolve an IPNS names or traverse a DAG, we can
|
|
140
|
+
// check the if-none-match header and maybe return a 304 without needing
|
|
141
|
+
// to load any blocks
|
|
142
|
+
if (ifNoneMatches(`"${url.hostname}"`, headers)) {
|
|
143
|
+
return notModifiedResponse(resource.toString(), new Headers({
|
|
144
|
+
etag: `"${url.hostname}"`,
|
|
145
|
+
'cache-control': 'public, max-age=29030400, immutable'
|
|
146
|
+
}));
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const requestedMimeTypes = getRequestedMimeTypes(url, headers.get('accept'));
|
|
138
150
|
let parsedResult;
|
|
139
151
|
// if just an IPNS record has been requested, don't try to load the block
|
|
140
152
|
// the record points to or do any recursive IPNS resolving
|
|
141
153
|
if (isIPNSRecordRequest(headers)) {
|
|
142
154
|
if (url.protocol !== 'ipns:') {
|
|
143
|
-
return notAcceptableResponse(url, [
|
|
155
|
+
return notAcceptableResponse(url, requestedMimeTypes, [
|
|
156
|
+
CONTENT_TYPE_IPNS
|
|
157
|
+
]);
|
|
144
158
|
}
|
|
145
159
|
// @ts-expect-error ipnsRecordPlugin may not be of type IpnsRecordPlugin
|
|
146
160
|
const ipnsRecordPlugin = this.plugins.find(plugin => plugin.id === 'ipns-record-plugin');
|
|
147
161
|
if (ipnsRecordPlugin == null) {
|
|
148
|
-
|
|
162
|
+
// IPNS record was requested but no IPNS Record plugin is configured?!
|
|
163
|
+
return notAcceptableResponse(url, requestedMimeTypes, []);
|
|
149
164
|
}
|
|
150
165
|
return this.handleFinalResponse(await ipnsRecordPlugin.handle({
|
|
151
166
|
range,
|
|
@@ -165,6 +180,7 @@ export class VerifiedFetch {
|
|
|
165
180
|
catch (err) {
|
|
166
181
|
options?.signal?.throwIfAborted();
|
|
167
182
|
this.log.error('error parsing resource %s - %e', resource, err);
|
|
183
|
+
this.log.error('wat name %s', err.name);
|
|
168
184
|
return this.handleFinalResponse(errorToResponse(resource, err));
|
|
169
185
|
}
|
|
170
186
|
}
|
|
@@ -172,7 +188,7 @@ export class VerifiedFetch {
|
|
|
172
188
|
cid: parsedResult.terminalElement.cid,
|
|
173
189
|
path: parsedResult.url.pathname
|
|
174
190
|
}));
|
|
175
|
-
const accept = this.getAcceptHeader(parsedResult.url,
|
|
191
|
+
const accept = this.getAcceptHeader(parsedResult.url, requestedMimeTypes, parsedResult.terminalElement.cid);
|
|
176
192
|
if (accept instanceof Response) {
|
|
177
193
|
this.log('allowed media types for requested CID did not contain anything the client can understand');
|
|
178
194
|
// invalid accept header
|
|
@@ -186,7 +202,8 @@ export class VerifiedFetch {
|
|
|
186
202
|
options,
|
|
187
203
|
onProgress: options?.onProgress,
|
|
188
204
|
serverTiming,
|
|
189
|
-
headers
|
|
205
|
+
headers,
|
|
206
|
+
requestedMimeTypes
|
|
190
207
|
};
|
|
191
208
|
this.log.trace('finding handler for cid code "0x%s" and response content types %s', parsedResult.terminalElement.cid.code.toString(16), accept.map(header => header.contentType.mediaType).join(', '));
|
|
192
209
|
const response = await this.runPluginPipeline(context);
|
|
@@ -203,70 +220,9 @@ export class VerifiedFetch {
|
|
|
203
220
|
* Returns a prioritized list of acceptable content types for the response
|
|
204
221
|
* based on the CID and a passed `Accept` header
|
|
205
222
|
*/
|
|
206
|
-
getAcceptHeader(url,
|
|
207
|
-
if (accept == null || accept === '') {
|
|
208
|
-
// if the user has specified CAR options but no Accept header, default to
|
|
209
|
-
// the car content type with the passed options
|
|
210
|
-
try {
|
|
211
|
-
const dagScope = url.searchParams.get('dag-scope');
|
|
212
|
-
const entityBytes = url.searchParams.get('entity-bytes');
|
|
213
|
-
const dups = url.searchParams.get('car-dups');
|
|
214
|
-
const order = url.searchParams.get('car-order');
|
|
215
|
-
const version = url.searchParams.get('car-version');
|
|
216
|
-
if (dagScope != null ||
|
|
217
|
-
entityBytes != null ||
|
|
218
|
-
dups != null ||
|
|
219
|
-
entityBytes != null ||
|
|
220
|
-
order != null) {
|
|
221
|
-
const options = {};
|
|
222
|
-
if (dups != null) {
|
|
223
|
-
options.dups = dups;
|
|
224
|
-
}
|
|
225
|
-
if (order != null) {
|
|
226
|
-
options.order = order;
|
|
227
|
-
}
|
|
228
|
-
if (version != null) {
|
|
229
|
-
options.version = version;
|
|
230
|
-
}
|
|
231
|
-
return [{
|
|
232
|
-
contentType: CONTENT_TYPE_CAR,
|
|
233
|
-
options
|
|
234
|
-
}];
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
catch { }
|
|
238
|
-
// yolo content-type
|
|
239
|
-
accept = '*/*';
|
|
240
|
-
// return []
|
|
241
|
-
}
|
|
242
|
-
// allow user to choose specific output type
|
|
243
|
-
const acceptable = [];
|
|
244
|
-
const requestedMimeTypes = accept
|
|
245
|
-
.split(',')
|
|
246
|
-
.map(s => {
|
|
247
|
-
const parts = s.trim().split(';');
|
|
248
|
-
const options = {
|
|
249
|
-
q: '1'
|
|
250
|
-
};
|
|
251
|
-
for (let i = 1; i < parts.length; i++) {
|
|
252
|
-
const [key, value] = parts[i].split('=').map(s => s.trim());
|
|
253
|
-
options[key] = value;
|
|
254
|
-
}
|
|
255
|
-
return {
|
|
256
|
-
mediaType: `${parts[0]}`.trim(),
|
|
257
|
-
options
|
|
258
|
-
};
|
|
259
|
-
})
|
|
260
|
-
.sort((a, b) => {
|
|
261
|
-
if (a.options.q === b.options.q) {
|
|
262
|
-
return 0;
|
|
263
|
-
}
|
|
264
|
-
if (a.options.q > b.options.q) {
|
|
265
|
-
return -1;
|
|
266
|
-
}
|
|
267
|
-
return 1;
|
|
268
|
-
});
|
|
223
|
+
getAcceptHeader(url, requestedMimeTypes, cid) {
|
|
269
224
|
const supportedContentTypes = getSupportedContentTypes(url.protocol, cid);
|
|
225
|
+
const acceptable = [];
|
|
270
226
|
for (const headerFormat of requestedMimeTypes) {
|
|
271
227
|
const [headerFormatType, headerFormatSubType] = headerFormat.mediaType.split('/');
|
|
272
228
|
for (const contentType of supportedContentTypes) {
|
|
@@ -300,7 +256,7 @@ export class VerifiedFetch {
|
|
|
300
256
|
if (acceptable.length === 0) {
|
|
301
257
|
this.log('requested %o', requestedMimeTypes.map(({ mediaType }) => mediaType));
|
|
302
258
|
this.log('supported %o', supportedContentTypes.map(({ mediaType }) => mediaType));
|
|
303
|
-
return notAcceptableResponse(url, supportedContentTypes);
|
|
259
|
+
return notAcceptableResponse(url, requestedMimeTypes, supportedContentTypes);
|
|
304
260
|
}
|
|
305
261
|
return acceptable;
|
|
306
262
|
}
|
|
@@ -318,13 +274,6 @@ export class VerifiedFetch {
|
|
|
318
274
|
response.headers.set('server-timing', timingHeader);
|
|
319
275
|
}
|
|
320
276
|
}
|
|
321
|
-
if (context?.terminalElement.cid != null && response.headers.get('etag') == null) {
|
|
322
|
-
response.headers.set('etag', getETag({
|
|
323
|
-
cid: context.terminalElement.cid,
|
|
324
|
-
contentType,
|
|
325
|
-
ranges: context?.range?.ranges
|
|
326
|
-
}));
|
|
327
|
-
}
|
|
328
277
|
if (context?.url?.protocol != null && context.ttl != null) {
|
|
329
278
|
setCacheControlHeader({
|
|
330
279
|
response,
|
|
@@ -345,6 +294,17 @@ export class VerifiedFetch {
|
|
|
345
294
|
response.headers.set('access-control-allow-methods', 'GET, HEAD, OPTIONS');
|
|
346
295
|
response.headers.set('access-control-allow-headers', 'Range, X-Requested-With');
|
|
347
296
|
response.headers.set('access-control-expose-headers', 'Content-Range, Content-Length, X-Ipfs-Path, X-Ipfs-Roots, X-Stream-Output');
|
|
297
|
+
if (context?.terminalElement.cid != null && response.headers.get('etag') == null) {
|
|
298
|
+
const etag = getETag({
|
|
299
|
+
cid: context.terminalElement.cid,
|
|
300
|
+
contentType,
|
|
301
|
+
ranges: context?.range?.ranges
|
|
302
|
+
});
|
|
303
|
+
response.headers.set('etag', etag);
|
|
304
|
+
if (ifNoneMatches(etag, context?.headers)) {
|
|
305
|
+
return notModifiedResponse(response.url, response.headers);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
348
308
|
if (context?.options?.method === 'HEAD') {
|
|
349
309
|
// don't send the body for HEAD requests
|
|
350
310
|
return new Response(null, {
|
|
@@ -430,4 +390,35 @@ export class VerifiedFetch {
|
|
|
430
390
|
await this.helia.stop();
|
|
431
391
|
}
|
|
432
392
|
}
|
|
393
|
+
function getRequestedMimeTypes(url, accept) {
|
|
394
|
+
if (accept == null || accept === '') {
|
|
395
|
+
// yolo content-type
|
|
396
|
+
accept = '*/*';
|
|
397
|
+
}
|
|
398
|
+
return accept
|
|
399
|
+
.split(',')
|
|
400
|
+
.map(s => {
|
|
401
|
+
const parts = s.trim().split(';');
|
|
402
|
+
const options = {
|
|
403
|
+
q: '1'
|
|
404
|
+
};
|
|
405
|
+
for (let i = 1; i < parts.length; i++) {
|
|
406
|
+
const [key, value] = parts[i].split('=').map(s => s.trim());
|
|
407
|
+
options[key] = value;
|
|
408
|
+
}
|
|
409
|
+
return {
|
|
410
|
+
mediaType: `${parts[0]}`.trim(),
|
|
411
|
+
options
|
|
412
|
+
};
|
|
413
|
+
})
|
|
414
|
+
.sort((a, b) => {
|
|
415
|
+
if (a.options.q === b.options.q) {
|
|
416
|
+
return 0;
|
|
417
|
+
}
|
|
418
|
+
if (a.options.q > b.options.q) {
|
|
419
|
+
return -1;
|
|
420
|
+
}
|
|
421
|
+
return 1;
|
|
422
|
+
});
|
|
423
|
+
}
|
|
433
424
|
//# sourceMappingURL=verified-fetch.js.map
|