@helia/verified-fetch 2.6.19 → 3.0.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/README.md +5 -3
- package/dist/index.min.js +4 -4
- package/dist/index.min.js.map +3 -3
- package/dist/src/index.d.ts +5 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/plugins/plugin-base.d.ts +8 -5
- package/dist/src/plugins/plugin-base.d.ts.map +1 -1
- package/dist/src/plugins/plugin-base.js +10 -11
- package/dist/src/plugins/plugin-base.js.map +1 -1
- package/dist/src/plugins/plugin-handle-byte-range-context.d.ts +1 -0
- package/dist/src/plugins/plugin-handle-byte-range-context.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-byte-range-context.js +1 -0
- package/dist/src/plugins/plugin-handle-byte-range-context.js.map +1 -1
- package/dist/src/plugins/plugin-handle-car.d.ts +1 -0
- package/dist/src/plugins/plugin-handle-car.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-car.js +1 -0
- package/dist/src/plugins/plugin-handle-car.js.map +1 -1
- package/dist/src/plugins/plugin-handle-dag-cbor.d.ts +1 -0
- package/dist/src/plugins/plugin-handle-dag-cbor.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-dag-cbor.js +1 -0
- package/dist/src/plugins/plugin-handle-dag-cbor.js.map +1 -1
- package/dist/src/plugins/plugin-handle-dag-pb.d.ts +1 -0
- package/dist/src/plugins/plugin-handle-dag-pb.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-dag-pb.js +1 -0
- package/dist/src/plugins/plugin-handle-dag-pb.js.map +1 -1
- package/dist/src/plugins/plugin-handle-dag-walk.d.ts +1 -0
- package/dist/src/plugins/plugin-handle-dag-walk.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-dag-walk.js +1 -0
- package/dist/src/plugins/plugin-handle-dag-walk.js.map +1 -1
- package/dist/src/plugins/plugin-handle-dir-index-html.d.ts +1 -0
- package/dist/src/plugins/plugin-handle-dir-index-html.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-dir-index-html.js +1 -0
- package/dist/src/plugins/plugin-handle-dir-index-html.js.map +1 -1
- package/dist/src/plugins/plugin-handle-ipns-record.d.ts +1 -0
- package/dist/src/plugins/plugin-handle-ipns-record.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-ipns-record.js +1 -0
- package/dist/src/plugins/plugin-handle-ipns-record.js.map +1 -1
- package/dist/src/plugins/plugin-handle-json.d.ts +1 -0
- package/dist/src/plugins/plugin-handle-json.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-json.js +1 -0
- package/dist/src/plugins/plugin-handle-json.js.map +1 -1
- package/dist/src/plugins/plugin-handle-raw.d.ts +1 -0
- package/dist/src/plugins/plugin-handle-raw.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-raw.js +1 -0
- package/dist/src/plugins/plugin-handle-raw.js.map +1 -1
- package/dist/src/plugins/plugin-handle-tar.d.ts +1 -0
- package/dist/src/plugins/plugin-handle-tar.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-tar.js +1 -0
- package/dist/src/plugins/plugin-handle-tar.js.map +1 -1
- package/dist/src/plugins/types.d.ts +1 -0
- package/dist/src/plugins/types.d.ts.map +1 -1
- package/dist/src/verified-fetch.js +9 -9
- package/dist/src/verified-fetch.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +5 -3
- package/src/plugins/plugin-base.ts +16 -12
- package/src/plugins/plugin-handle-byte-range-context.ts +2 -0
- package/src/plugins/plugin-handle-car.ts +2 -0
- package/src/plugins/plugin-handle-dag-cbor.ts +1 -0
- package/src/plugins/plugin-handle-dag-pb.ts +1 -0
- package/src/plugins/plugin-handle-dag-walk.ts +1 -0
- package/src/plugins/plugin-handle-dir-index-html.ts +1 -0
- package/src/plugins/plugin-handle-ipns-record.ts +1 -0
- package/src/plugins/plugin-handle-json.ts +1 -0
- package/src/plugins/plugin-handle-raw.ts +1 -0
- package/src/plugins/plugin-handle-tar.ts +1 -0
- package/src/plugins/types.ts +1 -0
- package/src/verified-fetch.ts +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,11 +85,11 @@ export class VerifiedFetch {
|
|
|
85
85
|
const customPlugins = init?.plugins?.map((pluginFactory) => pluginFactory(pluginOptions)) ?? [];
|
|
86
86
|
if (customPlugins.length > 0) {
|
|
87
87
|
// allow custom plugins to replace default plugins
|
|
88
|
-
const defaultPluginMap = new Map(defaultPlugins.map(plugin => [plugin.
|
|
89
|
-
const customPluginMap = new Map(customPlugins.map(plugin => [plugin.
|
|
90
|
-
this.plugins = defaultPlugins.map(plugin => customPluginMap.get(plugin.
|
|
88
|
+
const defaultPluginMap = new Map(defaultPlugins.map(plugin => [plugin.id, plugin]));
|
|
89
|
+
const customPluginMap = new Map(customPlugins.map(plugin => [plugin.id, plugin]));
|
|
90
|
+
this.plugins = defaultPlugins.map(plugin => customPluginMap.get(plugin.id) ?? plugin);
|
|
91
91
|
// Add any remaining custom plugins that don't replace a default plugin
|
|
92
|
-
this.plugins.push(...customPlugins.filter(plugin => !defaultPluginMap.has(plugin.
|
|
92
|
+
this.plugins.push(...customPlugins.filter(plugin => !defaultPluginMap.has(plugin.id)));
|
|
93
93
|
}
|
|
94
94
|
else {
|
|
95
95
|
this.plugins = defaultPlugins;
|
|
@@ -208,7 +208,7 @@ export class VerifiedFetch {
|
|
|
208
208
|
this.log(`Starting pipeline pass #${passCount + 1}`);
|
|
209
209
|
passCount++;
|
|
210
210
|
// gather plugins that say they can handle the *current* context, but haven't been used yet
|
|
211
|
-
const readyPlugins = this.plugins.filter(p => !pluginsUsed.has(p.
|
|
211
|
+
const readyPlugins = this.plugins.filter(p => !pluginsUsed.has(p.id)).filter(p => p.canHandle(context));
|
|
212
212
|
if (readyPlugins.length === 0) {
|
|
213
213
|
this.log.trace('No plugins can handle the current context.. checking by CID code');
|
|
214
214
|
const plugins = this.plugins.filter(p => p.codes.includes(context.cid.code));
|
|
@@ -220,14 +220,14 @@ export class VerifiedFetch {
|
|
|
220
220
|
break;
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
-
this.log.trace('Plugins ready to handle request: ', readyPlugins.map(p => p.
|
|
223
|
+
this.log.trace('Plugins ready to handle request: ', readyPlugins.map(p => p.id).join(', '));
|
|
224
224
|
// track if any plugin changed the context or returned a response
|
|
225
225
|
let contextChanged = false;
|
|
226
226
|
let pluginHandled = false;
|
|
227
227
|
for (const plugin of readyPlugins) {
|
|
228
228
|
try {
|
|
229
|
-
this.log.trace('Invoking plugin:', plugin.
|
|
230
|
-
pluginsUsed.add(plugin.
|
|
229
|
+
this.log.trace('Invoking plugin:', plugin.id);
|
|
230
|
+
pluginsUsed.add(plugin.id);
|
|
231
231
|
const maybeResponse = await plugin.handle(context);
|
|
232
232
|
if (maybeResponse != null) {
|
|
233
233
|
// if a plugin returns a final Response, short-circuit
|
|
@@ -256,7 +256,7 @@ export class VerifiedFetch {
|
|
|
256
256
|
}
|
|
257
257
|
}
|
|
258
258
|
if (finalResponse != null) {
|
|
259
|
-
this.log.trace('Plugin produced final response:', plugin.
|
|
259
|
+
this.log.trace('Plugin produced final response:', plugin.id);
|
|
260
260
|
break;
|
|
261
261
|
}
|
|
262
262
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verified-fetch.js","sourceRoot":"","sources":["../../src/verified-fetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verified-fetch.js","sourceRoot":"","sources":["../../src/verified-fetch.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@helia/verified-fetch",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "A fetch-like API for obtaining verified & trustless IPFS content on the web",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/ipfs/helia-verified-fetch/tree/main/packages/verified-fetch#readme",
|
package/src/index.ts
CHANGED
|
@@ -706,10 +706,12 @@
|
|
|
706
706
|
* @example custom plugin
|
|
707
707
|
*
|
|
708
708
|
* ```typescript
|
|
709
|
-
* import { BasePlugin
|
|
710
|
-
* import {
|
|
709
|
+
* import { BasePlugin } from '@helia/verified-fetch'
|
|
710
|
+
* import type { PluginContext, VerifiedFetchPluginFactory, PluginOptions } from '@helia/verified-fetch'
|
|
711
711
|
*
|
|
712
712
|
* export class MyCustomPlugin extends BasePlugin {
|
|
713
|
+
* id = 'my-custom-plugin' // Required: must be unique unless you want to override one of the default plugins.
|
|
714
|
+
*
|
|
713
715
|
* // Optionally, list any codec codes your plugin supports:
|
|
714
716
|
* codes = [] //
|
|
715
717
|
*
|
|
@@ -729,7 +731,7 @@
|
|
|
729
731
|
* headers: {
|
|
730
732
|
* 'Content-Type': 'text/plain'
|
|
731
733
|
* }
|
|
732
|
-
|
|
734
|
+
* });
|
|
733
735
|
*
|
|
734
736
|
* // Or, if further processing is needed by another plugin, simply return null.
|
|
735
737
|
* }
|
|
@@ -5,26 +5,30 @@ import type { Logger } from '@libp2p/interface'
|
|
|
5
5
|
* Base class for verified-fetch plugins. This class provides a basic implementation of the `FetchHandlerPlugin`
|
|
6
6
|
* interface.
|
|
7
7
|
*
|
|
8
|
-
* Subclasses
|
|
8
|
+
* Subclasses must implement the `id` property and the `canHandle` and `handle` methods.
|
|
9
|
+
* Subclasses may override the `codes` and `log` properties.
|
|
9
10
|
*
|
|
10
11
|
* If your plugin adds/edits the context supplied in `handle`, you should increment the `context.modified` property.
|
|
11
12
|
*/
|
|
12
|
-
export class BasePlugin implements VerifiedFetchPlugin {
|
|
13
|
+
export abstract class BasePlugin implements VerifiedFetchPlugin {
|
|
13
14
|
readonly codes: number[] = []
|
|
14
|
-
readonly log: Logger
|
|
15
15
|
readonly pluginOptions: PluginOptions
|
|
16
|
+
abstract readonly id: string
|
|
17
|
+
protected _log?: Logger
|
|
18
|
+
|
|
19
|
+
get log (): Logger {
|
|
20
|
+
// instantiate the logger lazily because it depends on the id, which is not set until after the constructor is called
|
|
21
|
+
if (this._log == null) {
|
|
22
|
+
this._log = this.pluginOptions.logger.forComponent(this.id)
|
|
23
|
+
}
|
|
24
|
+
return this._log
|
|
25
|
+
}
|
|
26
|
+
|
|
16
27
|
constructor (options: PluginOptions) {
|
|
17
|
-
// convert a CamelCase string to a kebab-case string for the logger name of subclasses
|
|
18
|
-
const loggerName = this.constructor.name.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase()
|
|
19
|
-
this.log = options.logger.forComponent(loggerName)
|
|
20
28
|
this.pluginOptions = options
|
|
21
29
|
}
|
|
22
30
|
|
|
23
|
-
canHandle (context: PluginContext): boolean
|
|
24
|
-
throw new Error('Not implemented')
|
|
25
|
-
}
|
|
31
|
+
abstract canHandle (context: PluginContext): boolean
|
|
26
32
|
|
|
27
|
-
|
|
28
|
-
throw new Error('Not implemented')
|
|
29
|
-
}
|
|
33
|
+
abstract handle (context: PluginContext): Promise<Response | null>
|
|
30
34
|
}
|
|
@@ -6,6 +6,8 @@ import type { PluginContext } from './types.js'
|
|
|
6
6
|
* This plugin simply adds the ByteRangeContext to the PluginContext.
|
|
7
7
|
*/
|
|
8
8
|
export class ByteRangeContextPlugin extends BasePlugin {
|
|
9
|
+
readonly id = 'byte-range-context-plugin'
|
|
10
|
+
|
|
9
11
|
/**
|
|
10
12
|
* Return false if the ByteRangeContext has already been set, otherwise return true.
|
|
11
13
|
*/
|
|
@@ -19,6 +19,8 @@ function getFilename ({ cid, ipfsPath, query }: Pick<PluginContext, 'query' | 'c
|
|
|
19
19
|
* of the `DAG` referenced by the `CID`.
|
|
20
20
|
*/
|
|
21
21
|
export class CarPlugin extends BasePlugin {
|
|
22
|
+
readonly id = 'car-plugin'
|
|
23
|
+
|
|
22
24
|
canHandle (context: PluginContext): boolean {
|
|
23
25
|
this.log('checking if we can handle %c with accept %s', context.cid, context.accept)
|
|
24
26
|
// if (context.pathDetails == null) {
|
|
@@ -12,6 +12,7 @@ import type { ObjectNode } from 'ipfs-unixfs-exporter'
|
|
|
12
12
|
* Handles `dag-cbor` content, including requests with Accept: `application/vnd.ipld.dag-json` and `application/json`.
|
|
13
13
|
*/
|
|
14
14
|
export class DagCborPlugin extends BasePlugin {
|
|
15
|
+
readonly id = 'dag-cbor-plugin'
|
|
15
16
|
readonly codes = [ipldDagCbor.code]
|
|
16
17
|
|
|
17
18
|
canHandle ({ cid, accept, pathDetails, byteRangeContext }: PluginContext): boolean {
|
|
@@ -15,6 +15,7 @@ import type { CIDDetail } from '../index.js'
|
|
|
15
15
|
* Handles UnixFS and dag-pb content.
|
|
16
16
|
*/
|
|
17
17
|
export class DagPbPlugin extends BasePlugin {
|
|
18
|
+
readonly id = 'dag-pb-plugin'
|
|
18
19
|
readonly codes = [dagPbCode]
|
|
19
20
|
canHandle ({ cid, accept, pathDetails, byteRangeContext }: PluginContext): boolean {
|
|
20
21
|
this.log('checking if we can handle %c with accept %s', cid, accept)
|
|
@@ -11,6 +11,7 @@ import type { PluginContext } from './types.js'
|
|
|
11
11
|
* Once this plugin has run, the PluginContext will be updated and then this plugin will return false for canHandle, so it won't run again.
|
|
12
12
|
*/
|
|
13
13
|
export class DagWalkPlugin extends BasePlugin {
|
|
14
|
+
readonly id = 'dag-walk-plugin'
|
|
14
15
|
/**
|
|
15
16
|
* Return false if the path has already been walked, otherwise return true if the CID is encoded with a codec that supports pathing.
|
|
16
17
|
*/
|
|
@@ -24,6 +24,7 @@ async function getAssetHash (directoryEntries: UnixFSEntry[]): Promise<string> {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
export class DirIndexHtmlPlugin extends BasePlugin {
|
|
27
|
+
readonly id = 'dir-index-html-plugin'
|
|
27
28
|
readonly codes = [dagPbCode]
|
|
28
29
|
canHandle (context: PluginContext): boolean {
|
|
29
30
|
const { cid, pathDetails, directoryEntries } = context
|
|
@@ -15,6 +15,7 @@ import type { PeerId } from '@libp2p/interface'
|
|
|
15
15
|
* returns a `Response` containing a raw IPNS record.
|
|
16
16
|
*/
|
|
17
17
|
export class IpnsRecordPlugin extends BasePlugin {
|
|
18
|
+
readonly id = 'ipns-record-plugin'
|
|
18
19
|
readonly codes = []
|
|
19
20
|
canHandle ({ cid, accept, query, byteRangeContext }: PluginContext): boolean {
|
|
20
21
|
this.log('checking if we can handle %c with accept %s', cid, accept)
|
|
@@ -9,6 +9,7 @@ import type { PluginContext } from './types.js'
|
|
|
9
9
|
* Handles `dag-json` content, including requests with Accept: `application/vnd.ipld.dag-cbor` and `application/cbor`.
|
|
10
10
|
*/
|
|
11
11
|
export class JsonPlugin extends BasePlugin {
|
|
12
|
+
readonly id = 'json-plugin'
|
|
12
13
|
readonly codes = [ipldDagJson.code, jsonCode]
|
|
13
14
|
canHandle ({ cid, accept, byteRangeContext }: PluginContext): boolean {
|
|
14
15
|
this.log('checking if we can handle %c with accept %s', cid, accept)
|
|
@@ -43,6 +43,7 @@ function getOverriddenRawContentType ({ headers, accept }: { headers?: HeadersIn
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
export class RawPlugin extends BasePlugin {
|
|
46
|
+
readonly id = 'raw-plugin'
|
|
46
47
|
codes: number[] = [rawCode, identity.code]
|
|
47
48
|
|
|
48
49
|
canHandle ({ cid, accept, query, byteRangeContext }: PluginContext): boolean {
|
|
@@ -12,6 +12,7 @@ import type { PluginContext } from './types.js'
|
|
|
12
12
|
* directory structure referenced by the `CID`.
|
|
13
13
|
*/
|
|
14
14
|
export class TarPlugin extends BasePlugin {
|
|
15
|
+
readonly id = 'tar-plugin'
|
|
15
16
|
readonly codes = []
|
|
16
17
|
canHandle ({ cid, accept, query, byteRangeContext }: PluginContext): boolean {
|
|
17
18
|
this.log('checking if we can handle %c with accept %s', cid, accept)
|
package/src/plugins/types.ts
CHANGED
package/src/verified-fetch.ts
CHANGED
|
@@ -107,13 +107,13 @@ export class VerifiedFetch {
|
|
|
107
107
|
|
|
108
108
|
if (customPlugins.length > 0) {
|
|
109
109
|
// allow custom plugins to replace default plugins
|
|
110
|
-
const defaultPluginMap = new Map(defaultPlugins.map(plugin => [plugin.
|
|
111
|
-
const customPluginMap = new Map(customPlugins.map(plugin => [plugin.
|
|
110
|
+
const defaultPluginMap = new Map(defaultPlugins.map(plugin => [plugin.id, plugin]))
|
|
111
|
+
const customPluginMap = new Map(customPlugins.map(plugin => [plugin.id, plugin]))
|
|
112
112
|
|
|
113
|
-
this.plugins = defaultPlugins.map(plugin => customPluginMap.get(plugin.
|
|
113
|
+
this.plugins = defaultPlugins.map(plugin => customPluginMap.get(plugin.id) ?? plugin)
|
|
114
114
|
|
|
115
115
|
// Add any remaining custom plugins that don't replace a default plugin
|
|
116
|
-
this.plugins.push(...customPlugins.filter(plugin => !defaultPluginMap.has(plugin.
|
|
116
|
+
this.plugins.push(...customPlugins.filter(plugin => !defaultPluginMap.has(plugin.id)))
|
|
117
117
|
} else {
|
|
118
118
|
this.plugins = defaultPlugins
|
|
119
119
|
}
|
|
@@ -252,7 +252,7 @@ export class VerifiedFetch {
|
|
|
252
252
|
passCount++
|
|
253
253
|
|
|
254
254
|
// gather plugins that say they can handle the *current* context, but haven't been used yet
|
|
255
|
-
const readyPlugins = this.plugins.filter(p => !pluginsUsed.has(p.
|
|
255
|
+
const readyPlugins = this.plugins.filter(p => !pluginsUsed.has(p.id)).filter(p => p.canHandle(context))
|
|
256
256
|
if (readyPlugins.length === 0) {
|
|
257
257
|
this.log.trace('No plugins can handle the current context.. checking by CID code')
|
|
258
258
|
const plugins = this.plugins.filter(p => p.codes.includes(context.cid.code))
|
|
@@ -264,7 +264,7 @@ export class VerifiedFetch {
|
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
-
this.log.trace('Plugins ready to handle request: ', readyPlugins.map(p => p.
|
|
267
|
+
this.log.trace('Plugins ready to handle request: ', readyPlugins.map(p => p.id).join(', '))
|
|
268
268
|
|
|
269
269
|
// track if any plugin changed the context or returned a response
|
|
270
270
|
let contextChanged = false
|
|
@@ -272,8 +272,8 @@ export class VerifiedFetch {
|
|
|
272
272
|
|
|
273
273
|
for (const plugin of readyPlugins) {
|
|
274
274
|
try {
|
|
275
|
-
this.log.trace('Invoking plugin:', plugin.
|
|
276
|
-
pluginsUsed.add(plugin.
|
|
275
|
+
this.log.trace('Invoking plugin:', plugin.id)
|
|
276
|
+
pluginsUsed.add(plugin.id)
|
|
277
277
|
|
|
278
278
|
const maybeResponse = await plugin.handle(context)
|
|
279
279
|
if (maybeResponse != null) {
|
|
@@ -302,7 +302,7 @@ export class VerifiedFetch {
|
|
|
302
302
|
}
|
|
303
303
|
|
|
304
304
|
if (finalResponse != null) {
|
|
305
|
-
this.log.trace('Plugin produced final response:', plugin.
|
|
305
|
+
this.log.trace('Plugin produced final response:', plugin.id)
|
|
306
306
|
break
|
|
307
307
|
}
|
|
308
308
|
}
|