@helia/verified-fetch 4.1.1 → 5.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.
Files changed (231) hide show
  1. package/README.md +6 -40
  2. package/dist/index.min.js +73 -534
  3. package/dist/index.min.js.map +4 -4
  4. package/dist/src/constants.d.ts +2 -0
  5. package/dist/src/constants.d.ts.map +1 -1
  6. package/dist/src/constants.js +2 -0
  7. package/dist/src/constants.js.map +1 -1
  8. package/dist/src/index.d.ts +162 -68
  9. package/dist/src/index.d.ts.map +1 -1
  10. package/dist/src/index.js +7 -40
  11. package/dist/src/index.js.map +1 -1
  12. package/dist/src/plugins/index.d.ts +0 -5
  13. package/dist/src/plugins/index.d.ts.map +1 -1
  14. package/dist/src/plugins/index.js +0 -4
  15. package/dist/src/plugins/index.js.map +1 -1
  16. package/dist/src/plugins/plugin-base.d.ts +8 -9
  17. package/dist/src/plugins/plugin-base.d.ts.map +1 -1
  18. package/dist/src/plugins/plugin-base.js +5 -6
  19. package/dist/src/plugins/plugin-base.js.map +1 -1
  20. package/dist/src/plugins/plugin-handle-car.d.ts +3 -3
  21. package/dist/src/plugins/plugin-handle-car.d.ts.map +1 -1
  22. package/dist/src/plugins/plugin-handle-car.js +38 -39
  23. package/dist/src/plugins/plugin-handle-car.js.map +1 -1
  24. package/dist/src/plugins/plugin-handle-ipld.d.ts +12 -0
  25. package/dist/src/plugins/plugin-handle-ipld.d.ts.map +1 -0
  26. package/dist/src/plugins/plugin-handle-ipld.js +83 -0
  27. package/dist/src/plugins/plugin-handle-ipld.js.map +1 -0
  28. package/dist/src/plugins/plugin-handle-ipns-record.d.ts +3 -3
  29. package/dist/src/plugins/plugin-handle-ipns-record.d.ts.map +1 -1
  30. package/dist/src/plugins/plugin-handle-ipns-record.js +25 -34
  31. package/dist/src/plugins/plugin-handle-ipns-record.js.map +1 -1
  32. package/dist/src/plugins/plugin-handle-tar.d.ts +3 -3
  33. package/dist/src/plugins/plugin-handle-tar.d.ts.map +1 -1
  34. package/dist/src/plugins/plugin-handle-tar.js +20 -22
  35. package/dist/src/plugins/plugin-handle-tar.js.map +1 -1
  36. package/dist/src/plugins/plugin-handle-unixfs.d.ts +14 -0
  37. package/dist/src/plugins/plugin-handle-unixfs.d.ts.map +1 -0
  38. package/dist/src/plugins/plugin-handle-unixfs.js +180 -0
  39. package/dist/src/plugins/plugin-handle-unixfs.js.map +1 -0
  40. package/dist/src/plugins/types.d.ts +1 -77
  41. package/dist/src/plugins/types.d.ts.map +1 -1
  42. package/dist/src/url-resolver.d.ts +29 -11
  43. package/dist/src/url-resolver.d.ts.map +1 -1
  44. package/dist/src/url-resolver.js +152 -74
  45. package/dist/src/url-resolver.js.map +1 -1
  46. package/dist/src/utils/content-type-parser.d.ts.map +1 -1
  47. package/dist/src/utils/content-type-parser.js +4 -3
  48. package/dist/src/utils/content-type-parser.js.map +1 -1
  49. package/dist/src/utils/content-types.d.ts +26 -0
  50. package/dist/src/utils/content-types.d.ts.map +1 -0
  51. package/dist/src/utils/content-types.js +137 -0
  52. package/dist/src/utils/content-types.js.map +1 -0
  53. package/dist/src/utils/convert-output.d.ts +17 -0
  54. package/dist/src/utils/convert-output.d.ts.map +1 -0
  55. package/dist/src/utils/convert-output.js +176 -0
  56. package/dist/src/utils/convert-output.js.map +1 -0
  57. package/dist/src/utils/error-to-response.d.ts +3 -0
  58. package/dist/src/utils/error-to-response.d.ts.map +1 -0
  59. package/dist/src/utils/error-to-response.js +40 -0
  60. package/dist/src/utils/error-to-response.js.map +1 -0
  61. package/dist/src/utils/get-content-disposition-filename.d.ts +1 -1
  62. package/dist/src/utils/get-content-disposition-filename.d.ts.map +1 -1
  63. package/dist/src/utils/get-content-disposition-filename.js +4 -0
  64. package/dist/src/utils/get-content-disposition-filename.js.map +1 -1
  65. package/dist/src/utils/get-e-tag.d.ts +20 -15
  66. package/dist/src/utils/get-e-tag.d.ts.map +1 -1
  67. package/dist/src/utils/get-e-tag.js +8 -22
  68. package/dist/src/utils/get-e-tag.js.map +1 -1
  69. package/dist/src/utils/get-offset-and-length.d.ts +12 -2
  70. package/dist/src/utils/get-offset-and-length.d.ts.map +1 -1
  71. package/dist/src/utils/get-offset-and-length.js +63 -21
  72. package/dist/src/utils/get-offset-and-length.js.map +1 -1
  73. package/dist/src/utils/get-range-header.d.ts +22 -0
  74. package/dist/src/utils/get-range-header.d.ts.map +1 -0
  75. package/dist/src/utils/get-range-header.js +69 -0
  76. package/dist/src/utils/get-range-header.js.map +1 -0
  77. package/dist/src/utils/parse-url-string.d.ts +2 -1
  78. package/dist/src/utils/parse-url-string.d.ts.map +1 -1
  79. package/dist/src/utils/parse-url-string.js +46 -71
  80. package/dist/src/utils/parse-url-string.js.map +1 -1
  81. package/dist/src/utils/resource-to-cache-key.d.ts +3 -3
  82. package/dist/src/utils/resource-to-cache-key.js +5 -5
  83. package/dist/src/utils/resource-to-cache-key.js.map +1 -1
  84. package/dist/src/utils/response-headers.d.ts +4 -14
  85. package/dist/src/utils/response-headers.d.ts.map +1 -1
  86. package/dist/src/utils/response-headers.js +36 -36
  87. package/dist/src/utils/response-headers.js.map +1 -1
  88. package/dist/src/utils/responses.d.ts +30 -11
  89. package/dist/src/utils/responses.d.ts.map +1 -1
  90. package/dist/src/utils/responses.js +146 -39
  91. package/dist/src/utils/responses.js.map +1 -1
  92. package/dist/src/verified-fetch.d.ts +16 -15
  93. package/dist/src/verified-fetch.d.ts.map +1 -1
  94. package/dist/src/verified-fetch.js +302 -238
  95. package/dist/src/verified-fetch.js.map +1 -1
  96. package/dist/typedoc-urls.json +64 -45
  97. package/package.json +4 -3
  98. package/src/constants.ts +3 -0
  99. package/src/index.ts +199 -68
  100. package/src/plugins/index.ts +0 -6
  101. package/src/plugins/plugin-base.ts +8 -10
  102. package/src/plugins/plugin-handle-car.ts +48 -46
  103. package/src/plugins/plugin-handle-ipld.ts +93 -0
  104. package/src/plugins/plugin-handle-ipns-record.ts +31 -41
  105. package/src/plugins/plugin-handle-tar.ts +25 -29
  106. package/src/plugins/plugin-handle-unixfs.ts +217 -0
  107. package/src/plugins/types.ts +0 -86
  108. package/src/url-resolver.ts +197 -83
  109. package/src/utils/content-type-parser.ts +4 -3
  110. package/src/utils/content-types.ts +159 -0
  111. package/src/utils/convert-output.ts +187 -0
  112. package/src/utils/error-to-response.ts +49 -0
  113. package/src/utils/get-content-disposition-filename.ts +7 -1
  114. package/src/utils/get-e-tag.ts +26 -35
  115. package/src/utils/get-offset-and-length.ts +75 -21
  116. package/src/utils/get-range-header.ts +107 -0
  117. package/src/utils/parse-url-string.ts +51 -80
  118. package/src/utils/resource-to-cache-key.ts +5 -5
  119. package/src/utils/response-headers.ts +40 -41
  120. package/src/utils/responses.ts +186 -45
  121. package/src/verified-fetch.ts +353 -270
  122. package/dist/src/plugins/plugin-handle-byte-range-context.d.ts +0 -14
  123. package/dist/src/plugins/plugin-handle-byte-range-context.d.ts.map +0 -1
  124. package/dist/src/plugins/plugin-handle-byte-range-context.js +0 -25
  125. package/dist/src/plugins/plugin-handle-byte-range-context.js.map +0 -1
  126. package/dist/src/plugins/plugin-handle-cbor.d.ts +0 -17
  127. package/dist/src/plugins/plugin-handle-cbor.d.ts.map +0 -1
  128. package/dist/src/plugins/plugin-handle-cbor.js +0 -94
  129. package/dist/src/plugins/plugin-handle-cbor.js.map +0 -1
  130. package/dist/src/plugins/plugin-handle-dag-cbor-html-preview.d.ts +0 -27
  131. package/dist/src/plugins/plugin-handle-dag-cbor-html-preview.d.ts.map +0 -1
  132. package/dist/src/plugins/plugin-handle-dag-cbor-html-preview.js +0 -279
  133. package/dist/src/plugins/plugin-handle-dag-cbor-html-preview.js.map +0 -1
  134. package/dist/src/plugins/plugin-handle-dag-cbor.d.ts +0 -17
  135. package/dist/src/plugins/plugin-handle-dag-cbor.d.ts.map +0 -1
  136. package/dist/src/plugins/plugin-handle-dag-cbor.js +0 -66
  137. package/dist/src/plugins/plugin-handle-dag-cbor.js.map +0 -1
  138. package/dist/src/plugins/plugin-handle-dag-pb.d.ts +0 -17
  139. package/dist/src/plugins/plugin-handle-dag-pb.d.ts.map +0 -1
  140. package/dist/src/plugins/plugin-handle-dag-pb.js +0 -209
  141. package/dist/src/plugins/plugin-handle-dag-pb.js.map +0 -1
  142. package/dist/src/plugins/plugin-handle-dag-walk.d.ts +0 -21
  143. package/dist/src/plugins/plugin-handle-dag-walk.d.ts.map +0 -1
  144. package/dist/src/plugins/plugin-handle-dag-walk.js +0 -95
  145. package/dist/src/plugins/plugin-handle-dag-walk.js.map +0 -1
  146. package/dist/src/plugins/plugin-handle-dir-index-html.d.ts +0 -10
  147. package/dist/src/plugins/plugin-handle-dir-index-html.d.ts.map +0 -1
  148. package/dist/src/plugins/plugin-handle-dir-index-html.js +0 -59
  149. package/dist/src/plugins/plugin-handle-dir-index-html.js.map +0 -1
  150. package/dist/src/plugins/plugin-handle-json.d.ts +0 -12
  151. package/dist/src/plugins/plugin-handle-json.d.ts.map +0 -1
  152. package/dist/src/plugins/plugin-handle-json.js +0 -73
  153. package/dist/src/plugins/plugin-handle-json.js.map +0 -1
  154. package/dist/src/plugins/plugin-handle-raw.d.ts +0 -9
  155. package/dist/src/plugins/plugin-handle-raw.d.ts.map +0 -1
  156. package/dist/src/plugins/plugin-handle-raw.js +0 -92
  157. package/dist/src/plugins/plugin-handle-raw.js.map +0 -1
  158. package/dist/src/plugins/plugins.d.ts +0 -6
  159. package/dist/src/plugins/plugins.d.ts.map +0 -1
  160. package/dist/src/plugins/plugins.js +0 -6
  161. package/dist/src/plugins/plugins.js.map +0 -1
  162. package/dist/src/utils/byte-range-context.d.ts +0 -103
  163. package/dist/src/utils/byte-range-context.d.ts.map +0 -1
  164. package/dist/src/utils/byte-range-context.js +0 -504
  165. package/dist/src/utils/byte-range-context.js.map +0 -1
  166. package/dist/src/utils/dag-cbor-to-safe-json.d.ts +0 -15
  167. package/dist/src/utils/dag-cbor-to-safe-json.d.ts.map +0 -1
  168. package/dist/src/utils/dag-cbor-to-safe-json.js +0 -54
  169. package/dist/src/utils/dag-cbor-to-safe-json.js.map +0 -1
  170. package/dist/src/utils/dir-index-html.d.ts +0 -19
  171. package/dist/src/utils/dir-index-html.d.ts.map +0 -1
  172. package/dist/src/utils/dir-index-html.js +0 -438
  173. package/dist/src/utils/dir-index-html.js.map +0 -1
  174. package/dist/src/utils/get-peer-id-from-string.d.ts +0 -3
  175. package/dist/src/utils/get-peer-id-from-string.d.ts.map +0 -1
  176. package/dist/src/utils/get-peer-id-from-string.js +0 -10
  177. package/dist/src/utils/get-peer-id-from-string.js.map +0 -1
  178. package/dist/src/utils/get-resolved-accept-header.d.ts +0 -9
  179. package/dist/src/utils/get-resolved-accept-header.d.ts.map +0 -1
  180. package/dist/src/utils/get-resolved-accept-header.js +0 -27
  181. package/dist/src/utils/get-resolved-accept-header.js.map +0 -1
  182. package/dist/src/utils/get-stream-from-async-iterable.d.ts +0 -9
  183. package/dist/src/utils/get-stream-from-async-iterable.d.ts.map +0 -1
  184. package/dist/src/utils/get-stream-from-async-iterable.js +0 -43
  185. package/dist/src/utils/get-stream-from-async-iterable.js.map +0 -1
  186. package/dist/src/utils/handle-redirects.d.ts +0 -16
  187. package/dist/src/utils/handle-redirects.d.ts.map +0 -1
  188. package/dist/src/utils/handle-redirects.js +0 -84
  189. package/dist/src/utils/handle-redirects.js.map +0 -1
  190. package/dist/src/utils/is-accept-explicit.d.ts +0 -15
  191. package/dist/src/utils/is-accept-explicit.d.ts.map +0 -1
  192. package/dist/src/utils/is-accept-explicit.js +0 -26
  193. package/dist/src/utils/is-accept-explicit.js.map +0 -1
  194. package/dist/src/utils/request-headers.d.ts +0 -13
  195. package/dist/src/utils/request-headers.d.ts.map +0 -1
  196. package/dist/src/utils/request-headers.js +0 -63
  197. package/dist/src/utils/request-headers.js.map +0 -1
  198. package/dist/src/utils/select-output-type.d.ts +0 -17
  199. package/dist/src/utils/select-output-type.d.ts.map +0 -1
  200. package/dist/src/utils/select-output-type.js +0 -153
  201. package/dist/src/utils/select-output-type.js.map +0 -1
  202. package/dist/src/utils/tlru.d.ts +0 -15
  203. package/dist/src/utils/tlru.d.ts.map +0 -1
  204. package/dist/src/utils/tlru.js +0 -34
  205. package/dist/src/utils/tlru.js.map +0 -1
  206. package/dist/src/utils/walk-path.d.ts +0 -27
  207. package/dist/src/utils/walk-path.d.ts.map +0 -1
  208. package/dist/src/utils/walk-path.js +0 -45
  209. package/dist/src/utils/walk-path.js.map +0 -1
  210. package/src/plugins/plugin-handle-byte-range-context.ts +0 -30
  211. package/src/plugins/plugin-handle-cbor.ts +0 -107
  212. package/src/plugins/plugin-handle-dag-cbor-html-preview.ts +0 -295
  213. package/src/plugins/plugin-handle-dag-cbor.ts +0 -83
  214. package/src/plugins/plugin-handle-dag-pb.ts +0 -248
  215. package/src/plugins/plugin-handle-dag-walk.ts +0 -110
  216. package/src/plugins/plugin-handle-dir-index-html.ts +0 -72
  217. package/src/plugins/plugin-handle-json.ts +0 -80
  218. package/src/plugins/plugin-handle-raw.ts +0 -110
  219. package/src/plugins/plugins.ts +0 -5
  220. package/src/utils/byte-range-context.ts +0 -597
  221. package/src/utils/dag-cbor-to-safe-json.ts +0 -63
  222. package/src/utils/dir-index-html.ts +0 -505
  223. package/src/utils/get-peer-id-from-string.ts +0 -12
  224. package/src/utils/get-resolved-accept-header.ts +0 -42
  225. package/src/utils/get-stream-from-async-iterable.ts +0 -49
  226. package/src/utils/handle-redirects.ts +0 -109
  227. package/src/utils/is-accept-explicit.ts +0 -38
  228. package/src/utils/request-headers.ts +0 -65
  229. package/src/utils/select-output-type.ts +0 -175
  230. package/src/utils/tlru.ts +0 -42
  231. package/src/utils/walk-path.ts +0 -69
@@ -1 +0,0 @@
1
- {"version":3,"file":"byte-range-context.js","sourceRoot":"","sources":["../../../src/utils/byte-range-context.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Take a `DAG-CBOR` encoded `Uint8Array`, deserialize it as an object and
3
- * re-serialize it in a form that can be passed to `JSON.serialize` and then
4
- * `JSON.parse` without losing any data.
5
- */
6
- export declare function dagCborToSafeJSON(buf: Uint8Array): string;
7
- /**
8
- * Decode CBOR to object without CID tag support
9
- */
10
- export declare function cborToObject(buf: Uint8Array): any;
11
- /**
12
- * Decode CBOR to object without CID tag support
13
- */
14
- export declare function objectToCbor(obj: any): Uint8Array;
15
- //# sourceMappingURL=dag-cbor-to-safe-json.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dag-cbor-to-safe-json.d.ts","sourceRoot":"","sources":["../../../src/utils/dag-cbor-to-safe-json.ts"],"names":[],"mappings":"AAyBA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,UAAU,GAAG,MAAM,CAkB1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAE,GAAG,EAAE,UAAU,GAAG,GAAG,CAElD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAE,GAAG,EAAE,GAAG,GAAG,UAAU,CAElD"}
@@ -1,54 +0,0 @@
1
- import { decode, encode } from 'cborg';
2
- import { encode as jsonEncode } from 'cborg/json';
3
- import { CID } from 'multiformats/cid';
4
- // https://github.com/ipfs/go-ipfs/issues/3570#issuecomment-273931692
5
- const CID_CBOR_TAG = 42;
6
- const options = {
7
- allowIndefinite: false,
8
- coerceUndefinedToNull: false,
9
- allowNaN: false,
10
- allowInfinity: false,
11
- strict: true,
12
- useMaps: false,
13
- rejectDuplicateMapKeys: true,
14
- tags: [],
15
- // this is different to `DAG-CBOR` - the reason we disallow BigInts is
16
- // because we are about to re-encode to `JSON` which does not support
17
- // BigInts. Blocks containing large numbers should be deserialized using a
18
- // cbor decoder instead
19
- allowBigInt: false.valueOf
20
- };
21
- /**
22
- * Take a `DAG-CBOR` encoded `Uint8Array`, deserialize it as an object and
23
- * re-serialize it in a form that can be passed to `JSON.serialize` and then
24
- * `JSON.parse` without losing any data.
25
- */
26
- export function dagCborToSafeJSON(buf) {
27
- const opts = {
28
- ...options,
29
- tags: []
30
- };
31
- opts.tags[CID_CBOR_TAG] = (bytes) => {
32
- if (bytes[0] !== 0) {
33
- throw new Error('Invalid CID for CBOR tag 42; expected leading 0x00');
34
- }
35
- return {
36
- '/': CID.decode(bytes.subarray(1)).toString() // ignore leading 0x00
37
- };
38
- };
39
- const obj = decode(buf, opts);
40
- return new TextDecoder().decode(jsonEncode(obj));
41
- }
42
- /**
43
- * Decode CBOR to object without CID tag support
44
- */
45
- export function cborToObject(buf) {
46
- return decode(buf, options);
47
- }
48
- /**
49
- * Decode CBOR to object without CID tag support
50
- */
51
- export function objectToCbor(obj) {
52
- return encode(obj, options);
53
- }
54
- //# sourceMappingURL=dag-cbor-to-safe-json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dag-cbor-to-safe-json.js","sourceRoot":"","sources":["../../../src/utils/dag-cbor-to-safe-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,qEAAqE;AACrE,MAAM,YAAY,GAAG,EAAE,CAAA;AAEvB,MAAM,OAAO,GAAkB;IAC7B,eAAe,EAAE,KAAK;IACtB,qBAAqB,EAAE,KAAK;IAC5B,QAAQ,EAAE,KAAK;IACf,aAAa,EAAE,KAAK;IACpB,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,KAAK;IACd,sBAAsB,EAAE,IAAI;IAC5B,IAAI,EAAE,EAAE;IAER,sEAAsE;IACtE,qEAAqE;IACrE,0EAA0E;IAC1E,uBAAuB;IACvB,WAAW,EAAE,KAAK,CAAC,OAAO;CAC3B,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAE,GAAe;IAChD,MAAM,IAAI,GAAkB;QAC1B,GAAG,OAAO;QACV,IAAI,EAAE,EAAE;KACT,CAAA;IACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAiB,EAAO,EAAE;QACnD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACvE,CAAC;QAED,OAAO;YACL,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,sBAAsB;SACrE,CAAA;IACH,CAAC,CAAA;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAE7B,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAE,GAAe;IAC3C,OAAO,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAE,GAAQ;IACpC,OAAO,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { Logger } from '@libp2p/interface';
2
- import type { UnixFSEntry } from 'ipfs-unixfs-exporter';
3
- export interface DirIndexHtmlOptions {
4
- /**
5
- * The URL of the requested resource
6
- */
7
- gatewayURL: string;
8
- dnsLink?: boolean;
9
- log: Logger;
10
- }
11
- /**
12
- * todo: https://github.com/ipfs/boxo/blob/09b0013e1c3e09468009b02dfc9b2b9041199d5d/gateway/handler_unixfs_dir.go#L200-L208
13
- *
14
- * @see https://github.com/ipfs/boxo/blob/09b0013e1c3e09468009b02dfc9b2b9041199d5d/gateway/assets/directory.html
15
- * @see https://github.com/ipfs/boxo/pull/298
16
- * @see https://github.com/ipfs/kubo/pull/8555
17
- */
18
- export declare const dirIndexHtml: (dir: UnixFSEntry, items: UnixFSEntry[], { gatewayURL, dnsLink, log }: DirIndexHtmlOptions) => string;
19
- //# sourceMappingURL=dir-index-html.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dir-index-html.d.ts","sourceRoot":"","sources":["../../../src/utils/dir-index-html.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAyCvD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;CACZ;AAoGD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,WAAW,EAAE,OAAO,WAAW,EAAE,EAAE,8BAA8B,mBAAmB,KAAG,MAyFxH,CAAA"}
@@ -1,438 +0,0 @@
1
- // see https://github.com/ipfs/boxo/blob/09b0013e1c3e09468009b02dfc9b2b9041199d5d/gateway/assets/templates.go#L19C1-L25C2
2
- function iconFromExt(name) {
3
- // not implemented yet
4
- // TODO: optimize icons: https://github.com/ipfs-shipyard/ipfs-css/issues/71
5
- return 'ipfs-_blank';
6
- }
7
- /**
8
- * If they click on the short hash, it should link to the host-without-subdomain + /ipfs/ + hash + ?filename={filename}
9
- */
10
- function itemShortHashCell(item, dirData) {
11
- const host = dirData.globalData.gatewayURLWithoutSubdomain.host;
12
- const protocol = dirData.globalData.gatewayURLWithoutSubdomain.protocol;
13
- return `<a class="ipfs-hash" translate="no" href="${protocol}//${host}/ipfs/${item.hash}?filename=${item.name}">${item.shortHash}</a>`;
14
- }
15
- /**
16
- * Returns a new host with the subdomain removed if it includes "ipfs" or "ipns".
17
- *
18
- * @example
19
- * subdomain.ipfs.dweb.link -> dweb.link
20
- * abc.ipns.localhost -> localhost
21
- * bafyfoo.ipfs.localhost:3441 -> localhost:3441
22
- * bafyfoo.ipfs.foo.localhost:3441 -> foo.localhost:3441
23
- */
24
- function removeIpfsOrIpnsSubdomain(host) {
25
- const segments = host.split('.');
26
- const keepSegments = [];
27
- // Walk from the right to the left
28
- for (let i = segments.length - 1; i >= 0; i--) {
29
- const seg = segments[i];
30
- // If we hit "ipfs" or "ipns", stop (ignore everything to the left)
31
- if (seg === 'ipfs' || seg === 'ipns') {
32
- break;
33
- }
34
- keepSegments.push(seg);
35
- }
36
- // Reverse because we collected from right to left
37
- keepSegments.reverse();
38
- // If keepSegments is empty, it means "ipfs" or "ipns" was at the TLD level
39
- // but typically that means the next domain is empty; just return empty string
40
- return keepSegments.join('.');
41
- }
42
- function getGatewayURLWithoutSubdomain(gatewayURL) {
43
- let currentUrl;
44
- try {
45
- currentUrl = new URL(gatewayURL);
46
- }
47
- catch {
48
- // If the gatewayURL is invalid (ipfs:// or ipns:// or just a CID), use inbrowser.link as a fallback
49
- currentUrl = new URL('https://inbrowser.link');
50
- }
51
- currentUrl.host = removeIpfsOrIpnsSubdomain(currentUrl.host);
52
- return currentUrl;
53
- }
54
- function dirListingTitle(dirData) {
55
- if (dirData.path != null) {
56
- const href = `${dirData.globalData.gatewayURL}/${dirData.path}`;
57
- return `Index of <a href="${href}">${dirData.name}</a>`;
58
- }
59
- return `Index of ${dirData.name} ${dirData.path}`;
60
- }
61
- function getAllDirListingRows(dirData) {
62
- return dirData.listing.map((item) => `<div class="type-icon">
63
- <div class="${iconFromExt(item.name)}">&nbsp;</div>
64
- </div>
65
- <div>
66
- <a href="${item.path}">${item.name}</a>
67
- </div>
68
- <div class="nowrap">
69
- ${itemShortHashCell(item, dirData)}
70
- </div>
71
- <div class="nowrap" title="Cumulative size of IPFS DAG (data + metadata)">${item.size}</div>`).join(' ');
72
- }
73
- function getItemPath(item) {
74
- const itemPathParts = item.path.split('/');
75
- return itemPathParts.pop() ?? item.path;
76
- }
77
- /**
78
- * if <= 11, return the hash as is
79
- * if > 11, return the first 4 and last 4 characters of the hash, separated by '...'
80
- *
81
- * e.g. QmabcccHnzA
82
- * e.g. Qmab...HnzA
83
- */
84
- function getShortHash(hash) {
85
- return hash.length <= 11 ? hash : `${hash.slice(0, 4)}...${hash.slice(-4)}`;
86
- }
87
- /**
88
- * todo: https://github.com/ipfs/boxo/blob/09b0013e1c3e09468009b02dfc9b2b9041199d5d/gateway/handler_unixfs_dir.go#L200-L208
89
- *
90
- * @see https://github.com/ipfs/boxo/blob/09b0013e1c3e09468009b02dfc9b2b9041199d5d/gateway/assets/directory.html
91
- * @see https://github.com/ipfs/boxo/pull/298
92
- * @see https://github.com/ipfs/kubo/pull/8555
93
- */
94
- export const dirIndexHtml = (dir, items, { gatewayURL, dnsLink, log }) => {
95
- log('loading directory html for %s', dir.path);
96
- const dirData = {
97
- globalData: {
98
- gatewayURL,
99
- gatewayURLWithoutSubdomain: getGatewayURLWithoutSubdomain(gatewayURL),
100
- dnsLink: dnsLink ?? false
101
- },
102
- listing: items.map((item) => {
103
- return {
104
- size: item.size?.toString() ?? '?',
105
- name: item.name,
106
- path: getItemPath(item),
107
- hash: item.cid.toString(),
108
- shortHash: getShortHash(item.cid.toString())
109
- };
110
- }),
111
- name: dir.name,
112
- size: dir.size.toString(),
113
- path: dir.path,
114
- breadcrumbs: [],
115
- backLink: '',
116
- hash: dir.cid.toString()
117
- };
118
- return `<!DOCTYPE html>
119
- <html lang="en">
120
- <head>
121
- <meta charset="utf-8">
122
- <meta name="description" content="A directory of content-addressed files hosted on IPFS.">
123
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
124
- <link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlo89/56ZQ/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACUjDu1lo89/6mhTP+zrVP/nplD/5+aRK8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHNiIS6Wjz3/ubFY/761W/+vp1D/urRZ/8vDZf/GvmH/nplD/1BNIm8AAAAAAAAAAAAAAAAAAAAAAAAAAJaPPf+knEj/vrVb/761W/++tVv/r6dQ/7q0Wf/Lw2X/y8Nl/8vDZf+tpk7/nplD/wAAAAAAAAAAAAAAAJaPPf+2rVX/vrVb/761W/++tVv/vrVb/6+nUP+6tFn/y8Nl/8vDZf/Lw2X/y8Nl/8G6Xv+emUP/AAAAAAAAAACWjz3/vrVb/761W/++tVv/vrVb/761W/+vp1D/urRZ/8vDZf/Lw2X/y8Nl/8vDZf/Lw2X/nplD/wAAAAAAAAAAlo89/761W/++tVv/vrVb/761W/++tVv/r6dQ/7q0Wf/Lw2X/y8Nl/8vDZf/Lw2X/y8Nl/56ZQ/8AAAAAAAAAAJaPPf++tVv/vrVb/761W/++tVv/vbRa/5aPPf+emUP/y8Nl/8vDZf/Lw2X/y8Nl/8vDZf+emUP/AAAAAAAAAACWjz3/vrVb/761W/++tVv/vrVb/5qTQP+inkb/op5G/6KdRv/Lw2X/y8Nl/8vDZf/Lw2X/nplD/wAAAAAAAAAAlo89/761W/++tVv/sqlS/56ZQ//LxWb/0Mlp/9DJaf/Kw2X/oJtE/7+3XP/Lw2X/y8Nl/56ZQ/8AAAAAAAAAAJaPPf+9tFr/mJE+/7GsUv/Rymr/0cpq/9HKav/Rymr/0cpq/9HKav+xrFL/nplD/8vDZf+emUP/AAAAAAAAAACWjz3/op5G/9HKav/Rymr/0cpq/9HKav/Rymr/0cpq/9HKav/Rymr/0cpq/9HKav+inkb/nplD/wAAAAAAAAAAAAAAAKKeRv+3slb/0cpq/9HKav/Rymr/0cpq/9HKav/Rymr/0cpq/9HKav+1sFX/op5G/wAAAAAAAAAAAAAAAAAAAAAAAAAAop5GUKKeRv/Nxmf/0cpq/9HKav/Rymr/0cpq/83GZ/+inkb/op5GSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAop5G16KeRv/LxWb/y8Vm/6KeRv+inkaPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAop5G/6KeRtcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/n8AAPgfAADwDwAAwAMAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAwAMAAPAPAAD4HwAA/n8AAA==">
125
- <title>${dirData.path}</title>
126
- <style>${style}</style>
127
- </head>
128
- <body>
129
- <!--
130
- # Some JSON content for debugging:
131
-
132
- ## dirData
133
- ${JSON.stringify(dirData, null, 2)}
134
- -->
135
- <header id="header">
136
- <div class="ipfs-logo">&nbsp;</div>
137
- <!--
138
- <nav>
139
- <a href="https://ipfs.tech" target="_blank" rel="noopener noreferrer">About<span class="dn-mobile"> IPFS</span></a>
140
- <a href="https://docs.ipfs.tech/install/" target="_blank" rel="noopener noreferrer">Install<span class="dn-mobile"> IPFS</span></a>
141
- </nav>
142
- -->
143
- </header>
144
- <main id="main">
145
- <header class="flex flex-wrap">
146
- <div>
147
- <strong>${dirListingTitle(dirData)}</strong>
148
- ${dirData.hash == null
149
- ? ''
150
- : `<div class="ipfs-hash" translate="no">
151
- ${dirData.hash}
152
- </div>`}
153
- </div>
154
- ${dirData.size == null
155
- ? ''
156
- : `<div class="nowrap flex-shrink ml-auto">
157
- <strong title="Cumulative size of IPFS DAG (data + metadata)">&nbsp;${dirData.size}</strong>
158
- </div>`}
159
- </header>
160
- <div>
161
- <div class="grid dir">
162
- <!--{{ if .BackLink }}
163
- <div class="type-icon">
164
- <div class="ipfs-_blank">&nbsp;</div>
165
- </div>
166
- <div>
167
- <a href="{{.BackLink | urlEscape}}">..</a>
168
- </div>
169
- <div></div>
170
- <div></div>
171
- </tr>
172
- {{ end }}-->
173
- ${getAllDirListingRows(dirData)}
174
- </div>
175
- </div>
176
- </main>
177
- </body>
178
- </html>`;
179
- };
180
- const style = `
181
-
182
- .ipfs-_blank {
183
- background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 100'%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='36' y1='1' x2='36' y2='99' gradientTransform='matrix(1 0 0 -1 0 100)'%3E%3Cstop offset='0' stop-color='%23c8d4db'/%3E%3Cstop offset='.139' stop-color='%23d8e1e6'/%3E%3Cstop offset='.359' stop-color='%23ebf0f3'/%3E%3Cstop offset='.617' stop-color='%23f9fafb'/%3E%3Cstop offset='1' stop-color='%23fff'/%3E%3C/linearGradient%3E%3Cpath d='M45 1l27 26.7V99H0V1h45z' fill='url(%23a)'/%3E%3Cpath d='M45 1l27 26.7V99H0V1h45z' fill-opacity='0' stroke='%237191a1' stroke-width='2'/%3E%3ClinearGradient id='b' gradientUnits='userSpaceOnUse' x1='45.068' y1='72.204' x2='58.568' y2='85.705' gradientTransform='matrix(1 0 0 -1 0 100)'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='.35' stop-color='%23fafbfb'/%3E%3Cstop offset='.532' stop-color='%23edf1f4'/%3E%3Cstop offset='.675' stop-color='%23dde5e9'/%3E%3Cstop offset='.799' stop-color='%23c7d3da'/%3E%3Cstop offset='.908' stop-color='%23adbdc7'/%3E%3Cstop offset='1' stop-color='%2392a5b0'/%3E%3C/linearGradient%3E%3Cpath d='M45 1l27 26.7H45V1z' fill='url(%23b)'/%3E%3Cpath d='M45 1l27 26.7H45V1z' fill-opacity='0' stroke='%237191a1' stroke-width='2' stroke-linejoin='bevel'/%3E%3C/svg%3E");
184
- background-repeat: no-repeat;
185
- background-size: contain
186
- }
187
-
188
- :root {
189
- --sans-serif: "Plex",system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
190
- --monospace: Consolas, monaco, monospace;
191
- --navy: #073a53;
192
- --teal: #6bc4ce;
193
- --turquoise: #47AFB4;
194
- --steel-gray: #3f5667;
195
- --dark-white: #d9dbe2;
196
- --light-white: #edf0f4;
197
- --near-white: #f7f8fa;
198
- --radius: 4px;
199
- }
200
-
201
- body {
202
- color: #34373f;
203
- font-family: var(--sans-serif);
204
- line-height: 1.43;
205
- margin: 0;
206
- word-break: break-all;
207
- -webkit-text-size-adjust: 100%;
208
- -ms-text-size-adjust: 100%;
209
- -webkit-tap-highlight-color: transparent;
210
- }
211
-
212
- pre, code {
213
- font-family: var(--monospace);
214
- }
215
-
216
- a {
217
- color: #117eb3;
218
- text-decoration: none;
219
- }
220
-
221
- a:hover {
222
- color: #00b0e9;
223
- text-decoration: underline;
224
- }
225
-
226
- a:active,a:visited {
227
- color: #00b0e9;
228
- }
229
-
230
- .flex {
231
- display: flex;
232
- }
233
-
234
- .flex-wrap {
235
- flex-flow: wrap;
236
- }
237
-
238
- .flex-shrink {
239
- flex-shrink: 1;
240
- }
241
-
242
- .ml-auto {
243
- margin-left: auto;
244
- }
245
-
246
- .nowrap {
247
- white-space: nowrap
248
- }
249
-
250
- .ipfs-hash {
251
- color: #7f8491;
252
- font-family: var(--monospace);
253
- }
254
-
255
- #header {
256
- align-items: center;
257
- background: var(--navy);
258
- border-bottom: 4px solid var(--teal);
259
- color: #fff;
260
- display: flex;
261
- font-weight: 500;
262
- justify-content: space-between;
263
- padding: 0 1em;
264
- }
265
-
266
- #header a {
267
- color: var(--teal);
268
- }
269
-
270
- #header a:active {
271
- color: #9ad4db;
272
- }
273
-
274
- #header a:hover {
275
- color: #fff;
276
- }
277
-
278
- #header .ipfs-logo {
279
- height: 2.25em;
280
- margin: .7em .7em .7em 0;
281
- width: 7.15em
282
- }
283
-
284
- #header nav {
285
- align-items: center;
286
- display: flex;
287
- margin: .65em 0;
288
- }
289
-
290
- #header nav a {
291
- margin: 0 .6em;
292
- }
293
-
294
- #header nav a:last-child {
295
- margin: 0 0 0 .6em;
296
- }
297
-
298
- #header nav svg {
299
- fill: var(--teal);
300
- height: 1.8em;
301
- margin-top: .125em;
302
- }
303
-
304
- #header nav svg:hover {
305
- fill: #fff;
306
- }
307
-
308
- main {
309
- border: 1px solid var(--dark-white);
310
- border-radius: var(--radius);
311
- overflow: hidden;
312
- margin: 1em;
313
- font-size: .875em;
314
- }
315
-
316
- main header,main .container {
317
- padding-left: 1em;
318
- padding-right: 1em;
319
- }
320
-
321
- main header {
322
- padding-top: .7em;
323
- padding-bottom: .7em;
324
- background-color: var(--light-white);
325
- }
326
-
327
- main header,main section:not(:last-child) {
328
- border-bottom: 1px solid var(--dark-white);
329
- }
330
-
331
- main section header {
332
- background-color: var(--near-white);
333
- }
334
-
335
- .grid {
336
- display: grid;
337
- overflow-x: auto;
338
- }
339
-
340
- .grid .grid {
341
- overflow-x: visible;
342
- }
343
-
344
- .grid > div {
345
- padding: .7em;
346
- border-bottom: 1px solid var(--dark-white);
347
- }
348
-
349
- .grid.dir {
350
- grid-template-columns: min-content 1fr min-content min-content;
351
- }
352
-
353
- .grid.dir > div:nth-of-type(4n+1) {
354
- padding-left: 1em;
355
- }
356
-
357
- .grid.dir > div:nth-of-type(4n+4) {
358
- padding-right: 1em;
359
- }
360
-
361
- .grid.dir > div:nth-last-child(-n+4) {
362
- border-bottom: 0;
363
- }
364
-
365
- .grid.dir > div:nth-of-type(8n+5),.grid.dir > div:nth-of-type(8n+6),.grid.dir > div:nth-of-type(8n+7),.grid.dir > div:nth-of-type(8n+8) {
366
- background-color: var(--near-white);
367
- }
368
-
369
- .grid.dag {
370
- grid-template-columns: max-content 1fr;
371
- }
372
-
373
- .grid.dag pre {
374
- margin: 0;
375
- }
376
-
377
- .grid.dag .grid {
378
- padding: 0;
379
- }
380
-
381
- .grid.dag > div:nth-last-child(-n+2) {
382
- border-bottom: 0;
383
- }
384
-
385
- .grid.dag > div {
386
- background: white
387
- }
388
-
389
- .grid.dag > div:nth-child(4n),.grid.dag > div:nth-child(4n+3) {
390
- background-color: var(--near-white);
391
- }
392
-
393
- section > .grid.dag > div:nth-of-type(2n+1) {
394
- padding-left: 1em;
395
- }
396
-
397
- .type-icon,.type-icon > * {
398
- width: 1.15em
399
- }
400
-
401
- .terminal {
402
- background: var(--steel-gray);
403
- color: white;
404
- padding: .7em;
405
- border-radius: var(--radius);
406
- word-wrap: break-word;
407
- white-space: break-spaces;
408
- }
409
-
410
- @media print {
411
- #header {
412
- display: none;
413
- }
414
-
415
- #main header,.ipfs-hash,body {
416
- color: #000;
417
- }
418
-
419
- #main,#main header {
420
- border-color: #000;
421
- }
422
-
423
- a,a:visited {
424
- color: #000;
425
- text-decoration: underline;
426
- }
427
-
428
- a[href]:after {
429
- content: " (" attr(href) ")"
430
- }
431
- }
432
-
433
- @media only screen and (max-width: 500px) {
434
- .dn-mobile {
435
- display: none;
436
- }
437
- }`;
438
- //# sourceMappingURL=dir-index-html.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dir-index-html.js","sourceRoot":"","sources":["../../../src/utils/dir-index-html.ts"],"names":[],"mappings":"AAmDA,yHAAyH;AACzH,SAAS,WAAW,CAAE,IAAY;IAChC,sBAAsB;IACtB,4EAA4E;IAC5E,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAE,IAAmB,EAAE,OAA8B;IAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC,IAAI,CAAA;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC,QAAQ,CAAA;IAEvE,OAAO,6CAA6C,QAAQ,KAAK,IAAI,SAAS,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,MAAM,CAAA;AACxI,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,yBAAyB,CAAE,IAAY;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,MAAM,YAAY,GAAa,EAAE,CAAA;IAEjC,kCAAkC;IAClC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACvB,mEAAmE;QACnE,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACrC,MAAK;QACP,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,kDAAkD;IAClD,YAAY,CAAC,OAAO,EAAE,CAAA;IAEtB,2EAA2E;IAC3E,8EAA8E;IAC9E,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,6BAA6B,CAAE,UAAkB;IACxD,IAAI,UAAe,CAAA;IACnB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,oGAAoG;QACpG,UAAU,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAA;IAChD,CAAC;IACD,UAAU,CAAC,IAAI,GAAG,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAC5D,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,eAAe,CAAE,OAA8B;IACtD,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;QAC/D,OAAO,qBAAqB,IAAI,KAAK,OAAO,CAAC,IAAI,MAAM,CAAA;IACzD,CAAC;IACD,OAAO,YAAY,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;AACnD,CAAC;AAED,SAAS,oBAAoB,CAAE,OAA8B;IAC3D,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;;;iBAGzB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;;;QAGhC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC;;gFAEwC,IAAI,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5G,CAAC;AAED,SAAS,WAAW,CAAE,IAAiB;IACrC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE1C,OAAO,aAAa,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAA;AACzC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAE,IAAY;IACjC,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAC7E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAgB,EAAE,KAAoB,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAuB,EAAU,EAAE;IAChI,GAAG,CAAC,+BAA+B,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;IAE9C,MAAM,OAAO,GAA0B;QACrC,UAAU,EAAE;YACV,UAAU;YACV,0BAA0B,EAAE,6BAA6B,CAAC,UAAU,CAAC;YACrE,OAAO,EAAE,OAAO,IAAI,KAAK;SAC1B;QACD,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG;gBAClC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;gBACzB,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;aACrB,CAAA;QAC3B,CAAC,CAAC;QACF,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;QACzB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,EAAE;QACf,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE;KACzB,CAAA;IAED,OAAO;;;;;;;aAOI,OAAO,CAAC,IAAI;aACZ,KAAK;;;;;;;MAOZ,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;;;;;;;;;;oBAclB,eAAe,CAAC,OAAO,CAAC;YAChC,OAAO,CAAC,IAAI,IAAI,IAAI;QACpB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;kBACI,OAAO,CAAC,IAAI;qBAEpB;;UAEA,OAAO,CAAC,IAAI,IAAI,IAAI;QACpB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;oFACwE,OAAO,CAAC,IAAI;mBAExF;;;;;;;;;;;;;;;YAeI,oBAAoB,CAAC,OAAO,CAAC;;;;;QAKjC,CAAA;AACR,CAAC,CAAA;AAED,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiQR,CAAA"}
@@ -1,3 +0,0 @@
1
- import type { PeerId } from '@libp2p/interface';
2
- export declare function getPeerIdFromString(peerIdString: string): PeerId;
3
- //# sourceMappingURL=get-peer-id-from-string.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-peer-id-from-string.d.ts","sourceRoot":"","sources":["../../../src/utils/get-peer-id-from-string.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,wBAAgB,mBAAmB,CAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAOjE"}
@@ -1,10 +0,0 @@
1
- import { peerIdFromCID, peerIdFromString } from '@libp2p/peer-id';
2
- import { CID } from 'multiformats/cid';
3
- export function getPeerIdFromString(peerIdString) {
4
- if (peerIdString.charAt(0) === '1' || peerIdString.charAt(0) === 'Q') {
5
- return peerIdFromString(peerIdString);
6
- }
7
- // try resolving as a base36 CID
8
- return peerIdFromCID(CID.parse(peerIdString));
9
- }
10
- //# sourceMappingURL=get-peer-id-from-string.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-peer-id-from-string.js","sourceRoot":"","sources":["../../../src/utils/get-peer-id-from-string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,MAAM,UAAU,mBAAmB,CAAE,YAAoB;IACvD,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACrE,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAA;IACvC,CAAC;IAED,gCAAgC;IAChC,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;AAC/C,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { UrlQuery } from '../index.ts';
2
- import type { ComponentLogger } from '@libp2p/interface';
3
- export interface ResolvedAcceptHeaderOptions {
4
- query?: UrlQuery;
5
- headers?: RequestInit['headers'];
6
- logger: ComponentLogger;
7
- }
8
- export declare function getResolvedAcceptHeader({ query, headers, logger }: ResolvedAcceptHeaderOptions): string | undefined;
9
- //# sourceMappingURL=get-resolved-accept-header.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-resolved-accept-header.d.ts","sourceRoot":"","sources":["../../../src/utils/get-resolved-accept-header.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,WAAW,2BAA2B;IAC1C,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAChC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,wBAAgB,uBAAuB,CAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,2BAA2B,GAAG,MAAM,GAAG,SAAS,CA8BpH"}
@@ -1,27 +0,0 @@
1
- import { isExplicitAcceptHeader, isExplicitFormatQuery, isExplicitIpldAcceptRequest } from './is-accept-explicit.js';
2
- import { queryFormatToAcceptHeader } from './select-output-type.js';
3
- export function getResolvedAcceptHeader({ query, headers, logger }) {
4
- const log = logger.forComponent('helia:verified-fetch:get-resolved-accept-header');
5
- const requestHeaders = new Headers(headers);
6
- const incomingAcceptHeader = requestHeaders.get('accept') ?? undefined;
7
- if (incomingAcceptHeader != null) {
8
- log('incoming accept header "%s"', incomingAcceptHeader);
9
- }
10
- if (!isExplicitIpldAcceptRequest({ query, headers: requestHeaders })) {
11
- log('no explicit IPLD content-type requested, returning incoming accept header %s', incomingAcceptHeader);
12
- return incomingAcceptHeader;
13
- }
14
- const queryFormatMapping = queryFormatToAcceptHeader(query?.format);
15
- if (query?.format != null) {
16
- log('incoming query format "%s", mapped to %s', query.format, queryFormatMapping);
17
- }
18
- let acceptHeader = incomingAcceptHeader;
19
- // if the incomingAcceptHeader is autogenerated by the requesting client (browser/curl/fetch/etc) then we may need to override it if query.format is specified
20
- if (!isExplicitAcceptHeader(requestHeaders) && isExplicitFormatQuery(query)) {
21
- log('accept header not recognized, but query format provided, setting accept header to %s', queryFormatMapping);
22
- acceptHeader = queryFormatMapping;
23
- }
24
- log('resolved accept header to "%s"', acceptHeader);
25
- return acceptHeader;
26
- }
27
- //# sourceMappingURL=get-resolved-accept-header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-resolved-accept-header.js","sourceRoot":"","sources":["../../../src/utils/get-resolved-accept-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AACpH,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAUnE,MAAM,UAAU,uBAAuB,CAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAA+B;IAC9F,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,iDAAiD,CAAC,CAAA;IAClF,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,oBAAoB,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAA;IAEtE,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;QACjC,GAAG,CAAC,6BAA6B,EAAE,oBAAoB,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,8EAA8E,EAAE,oBAAoB,CAAC,CAAA;QACzG,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAED,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAEnE,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,GAAG,CAAC,0CAA0C,EAAE,KAAK,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IACnF,CAAC;IAED,IAAI,YAAY,GAAG,oBAAoB,CAAA;IACvC,8JAA8J;IAC9J,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,sFAAsF,EAAE,kBAAkB,CAAC,CAAA;QAC/G,YAAY,GAAG,kBAAkB,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,gCAAgC,EAAE,YAAY,CAAC,CAAA;IAEnD,OAAO,YAAY,CAAA;AACrB,CAAC"}