@helia/verified-fetch 8.1.0 → 8.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +58 -58
- package/dist/index.min.js.map +4 -4
- package/dist/src/plugins/plugin-handle-unixfs.d.ts.map +1 -1
- package/dist/src/plugins/plugin-handle-unixfs.js +4 -2
- package/dist/src/plugins/plugin-handle-unixfs.js.map +1 -1
- package/dist/src/utils/content-type-parser.d.ts.map +1 -1
- package/dist/src/utils/content-type-parser.js +54 -4
- package/dist/src/utils/content-type-parser.js.map +1 -1
- package/package.json +1 -1
- package/src/plugins/plugin-handle-unixfs.ts +4 -2
- package/src/utils/content-type-parser.ts +54 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-unixfs.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-unixfs.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,aAAa,CAAA;AA+B1D;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,QAAQ,CAAC,EAAE,mBAAkB;IAC7B,QAAQ,CAAC,KAAK,WAAyB;IAEvC,SAAS,CAAE,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO;IASzD,MAAM,CAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;YA6H1C,UAAU;
|
|
1
|
+
{"version":3,"file":"plugin-handle-unixfs.d.ts","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-unixfs.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,aAAa,CAAA;AA+B1D;;GAEG;AACH,qBAAa,YAAa,SAAQ,UAAU;IAC1C,QAAQ,CAAC,EAAE,mBAAkB;IAC7B,QAAQ,CAAC,KAAK,WAAyB;IAEvC,SAAS,CAAE,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,aAAa,GAAG,OAAO;IASzD,MAAM,CAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;YA6H1C,UAAU;YAiDV,iBAAiB;CAqChC"}
|
|
@@ -150,8 +150,10 @@ export class UnixFSPlugin extends BasePlugin {
|
|
|
150
150
|
async streamFile(resource, entry, filename, ipfsRoots, redirected, rangeHeader, options) {
|
|
151
151
|
let contentType = MEDIA_TYPE_OCTET_STREAM;
|
|
152
152
|
// only detect content type for non-range requests to avoid loading blocks
|
|
153
|
-
// we aren't going to stream to the user
|
|
154
|
-
|
|
153
|
+
// we aren't going to stream to the user - unless they are requesting a
|
|
154
|
+
// range that starts at the beginning of the file, in which case we would
|
|
155
|
+
// load the block anyway so try to detect the content type
|
|
156
|
+
if (rangeHeader == null || rangeHeader.ranges.some(r => r.start === 0)) {
|
|
155
157
|
contentType = await this.detectContentType(entry, filename, options);
|
|
156
158
|
}
|
|
157
159
|
if (rangeHeader != null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-handle-unixfs.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-unixfs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin-handle-unixfs.js","sourceRoot":"","sources":["../../../src/plugins/plugin-handle-unixfs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-type-parser.d.ts","sourceRoot":"","sources":["../../../src/utils/content-type-parser.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,6BAA6B,CAAA;AA4BzD,wBAAsB,iBAAiB,CAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"content-type-parser.d.ts","sourceRoot":"","sources":["../../../src/utils/content-type-parser.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,6BAA6B,CAAA;AA4BzD,wBAAsB,iBAAiB,CAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkH9F"}
|
|
@@ -53,8 +53,15 @@ export async function contentTypeParser(bytes, fileName) {
|
|
|
53
53
|
}
|
|
54
54
|
return defaultMimeType;
|
|
55
55
|
}
|
|
56
|
-
//
|
|
57
|
-
|
|
56
|
+
// formats file-type cannot sniff at all, plus the media containers it only
|
|
57
|
+
// recognizes when their magic bytes start at offset 0 - a file with leading
|
|
58
|
+
// padding (an MP3 whose first frame sync sits behind a run of silence, a PDF
|
|
59
|
+
// that does not begin with its header) reaches this switch as well, and
|
|
60
|
+
// `application/octet-stream` makes the browser download it instead of
|
|
61
|
+
// playing or displaying it inline
|
|
62
|
+
// @see https://github.com/sindresorhus/file-type#supported-file-types
|
|
63
|
+
// @see https://github.com/ipfs/service-worker-gateway/issues/1197
|
|
64
|
+
switch (fileName.split('.').pop()?.toLowerCase()) {
|
|
58
65
|
case 'css':
|
|
59
66
|
return 'text/css';
|
|
60
67
|
case 'html':
|
|
@@ -67,13 +74,56 @@ export async function contentTypeParser(bytes, fileName) {
|
|
|
67
74
|
return 'application/json';
|
|
68
75
|
case 'txt':
|
|
69
76
|
return 'text/plain';
|
|
77
|
+
case 'md':
|
|
78
|
+
case 'markdown':
|
|
79
|
+
return 'text/markdown';
|
|
80
|
+
case 'xml':
|
|
81
|
+
return 'text/xml; charset=utf-8';
|
|
82
|
+
case 'csv':
|
|
83
|
+
return 'text/csv';
|
|
84
|
+
case 'vtt':
|
|
85
|
+
return 'text/vtt';
|
|
70
86
|
case 'woff2':
|
|
71
87
|
return 'font/woff2';
|
|
72
88
|
// see bottom of https://github.com/sindresorhus/file-type#supported-file-types
|
|
73
89
|
case 'svg':
|
|
74
90
|
return 'image/svg+xml';
|
|
75
|
-
case '
|
|
76
|
-
return '
|
|
91
|
+
case 'ico':
|
|
92
|
+
return 'image/x-icon';
|
|
93
|
+
case 'pdf':
|
|
94
|
+
return 'application/pdf';
|
|
95
|
+
case 'aac':
|
|
96
|
+
return 'audio/aac';
|
|
97
|
+
case 'flac':
|
|
98
|
+
return 'audio/flac';
|
|
99
|
+
case 'm4a':
|
|
100
|
+
return 'audio/mp4';
|
|
101
|
+
case 'mid':
|
|
102
|
+
case 'midi':
|
|
103
|
+
return 'audio/midi';
|
|
104
|
+
case 'mp3':
|
|
105
|
+
return 'audio/mpeg';
|
|
106
|
+
case 'oga':
|
|
107
|
+
case 'ogg':
|
|
108
|
+
case 'opus':
|
|
109
|
+
return 'audio/ogg';
|
|
110
|
+
case 'wav':
|
|
111
|
+
return 'audio/wav';
|
|
112
|
+
case 'weba':
|
|
113
|
+
return 'audio/webm';
|
|
114
|
+
case 'avi':
|
|
115
|
+
return 'video/x-msvideo';
|
|
116
|
+
case 'm4v':
|
|
117
|
+
case 'mp4':
|
|
118
|
+
return 'video/mp4';
|
|
119
|
+
case 'mkv':
|
|
120
|
+
return 'video/x-matroska';
|
|
121
|
+
case 'mov':
|
|
122
|
+
return 'video/quicktime';
|
|
123
|
+
case 'ogv':
|
|
124
|
+
return 'video/ogg';
|
|
125
|
+
case 'webm':
|
|
126
|
+
return 'video/webm';
|
|
77
127
|
case 'doc':
|
|
78
128
|
return 'application/msword';
|
|
79
129
|
case 'xls':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-type-parser.js","sourceRoot":"","sources":["../../../src/utils/content-type-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAA;AACzD,SAAS,WAAW,CAAE,IAAY;IAChC,OAAO,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpD,CAAC;AAED,KAAK,UAAU,YAAY,CAAE,IAAY;IACvC,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAE,KAAiB;IACjC,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAEzD,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CAAE,IAAY;IACvC,OAAO,4CAA4C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAE,KAAiB,EAAE,QAAiB;IAC3E,MAAM,YAAY,GAAG,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAA;IAE5D,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,YAAY,KAAK,iBAAiB,IAAI,QAAQ,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnF,OAAO,eAAe,CAAA;QACxB,CAAC;QAED,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,2CAA2C;IAC3C,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;QACzD,2DAA2D;QAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAE3B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,iDAAiD;YACjD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,eAAe,CAAA;YACxB,CAAC;iBAAM,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,OAAO,kBAAkB,CAAA;YAC3B,CAAC;iBAAM,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,OAAO,0BAA0B,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,OAAO,2BAA2B,CAAA;YACpC,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"content-type-parser.js","sourceRoot":"","sources":["../../../src/utils/content-type-parser.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": "8.1.
|
|
3
|
+
"version": "8.1.2",
|
|
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",
|
|
@@ -187,8 +187,10 @@ export class UnixFSPlugin extends BasePlugin {
|
|
|
187
187
|
let contentType = MEDIA_TYPE_OCTET_STREAM
|
|
188
188
|
|
|
189
189
|
// only detect content type for non-range requests to avoid loading blocks
|
|
190
|
-
// we aren't going to stream to the user
|
|
191
|
-
|
|
190
|
+
// we aren't going to stream to the user - unless they are requesting a
|
|
191
|
+
// range that starts at the beginning of the file, in which case we would
|
|
192
|
+
// load the block anyway so try to detect the content type
|
|
193
|
+
if (rangeHeader == null || rangeHeader.ranges.some(r => r.start === 0)) {
|
|
192
194
|
contentType = await this.detectContentType(entry, filename, options)
|
|
193
195
|
}
|
|
194
196
|
|
|
@@ -60,8 +60,15 @@ export async function contentTypeParser (bytes: Uint8Array, fileName?: string):
|
|
|
60
60
|
return defaultMimeType
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
//
|
|
64
|
-
|
|
63
|
+
// formats file-type cannot sniff at all, plus the media containers it only
|
|
64
|
+
// recognizes when their magic bytes start at offset 0 - a file with leading
|
|
65
|
+
// padding (an MP3 whose first frame sync sits behind a run of silence, a PDF
|
|
66
|
+
// that does not begin with its header) reaches this switch as well, and
|
|
67
|
+
// `application/octet-stream` makes the browser download it instead of
|
|
68
|
+
// playing or displaying it inline
|
|
69
|
+
// @see https://github.com/sindresorhus/file-type#supported-file-types
|
|
70
|
+
// @see https://github.com/ipfs/service-worker-gateway/issues/1197
|
|
71
|
+
switch (fileName.split('.').pop()?.toLowerCase()) {
|
|
65
72
|
case 'css':
|
|
66
73
|
return 'text/css'
|
|
67
74
|
case 'html':
|
|
@@ -74,13 +81,56 @@ export async function contentTypeParser (bytes: Uint8Array, fileName?: string):
|
|
|
74
81
|
return 'application/json'
|
|
75
82
|
case 'txt':
|
|
76
83
|
return 'text/plain'
|
|
84
|
+
case 'md':
|
|
85
|
+
case 'markdown':
|
|
86
|
+
return 'text/markdown'
|
|
87
|
+
case 'xml':
|
|
88
|
+
return 'text/xml; charset=utf-8'
|
|
89
|
+
case 'csv':
|
|
90
|
+
return 'text/csv'
|
|
91
|
+
case 'vtt':
|
|
92
|
+
return 'text/vtt'
|
|
77
93
|
case 'woff2':
|
|
78
94
|
return 'font/woff2'
|
|
79
95
|
// see bottom of https://github.com/sindresorhus/file-type#supported-file-types
|
|
80
96
|
case 'svg':
|
|
81
97
|
return 'image/svg+xml'
|
|
82
|
-
case '
|
|
83
|
-
return '
|
|
98
|
+
case 'ico':
|
|
99
|
+
return 'image/x-icon'
|
|
100
|
+
case 'pdf':
|
|
101
|
+
return 'application/pdf'
|
|
102
|
+
case 'aac':
|
|
103
|
+
return 'audio/aac'
|
|
104
|
+
case 'flac':
|
|
105
|
+
return 'audio/flac'
|
|
106
|
+
case 'm4a':
|
|
107
|
+
return 'audio/mp4'
|
|
108
|
+
case 'mid':
|
|
109
|
+
case 'midi':
|
|
110
|
+
return 'audio/midi'
|
|
111
|
+
case 'mp3':
|
|
112
|
+
return 'audio/mpeg'
|
|
113
|
+
case 'oga':
|
|
114
|
+
case 'ogg':
|
|
115
|
+
case 'opus':
|
|
116
|
+
return 'audio/ogg'
|
|
117
|
+
case 'wav':
|
|
118
|
+
return 'audio/wav'
|
|
119
|
+
case 'weba':
|
|
120
|
+
return 'audio/webm'
|
|
121
|
+
case 'avi':
|
|
122
|
+
return 'video/x-msvideo'
|
|
123
|
+
case 'm4v':
|
|
124
|
+
case 'mp4':
|
|
125
|
+
return 'video/mp4'
|
|
126
|
+
case 'mkv':
|
|
127
|
+
return 'video/x-matroska'
|
|
128
|
+
case 'mov':
|
|
129
|
+
return 'video/quicktime'
|
|
130
|
+
case 'ogv':
|
|
131
|
+
return 'video/ogg'
|
|
132
|
+
case 'webm':
|
|
133
|
+
return 'video/webm'
|
|
84
134
|
case 'doc':
|
|
85
135
|
return 'application/msword'
|
|
86
136
|
case 'xls':
|