@fedify/fedify 2.0.0-pr.449.1725 → 2.0.0-pr.451.1730
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/{actor-T6RyhRgk.d.ts → actor-Cd2CREO0.d.ts} +2 -2
- package/dist/{actor-VrXd7EdX.js → actor-Cg8ZhoVF.js} +1 -1
- package/dist/{actor-CsRJa7wV.cjs → actor-D020hlx3.cjs} +922 -1451
- package/dist/{actor-D6K058Tb.d.cts → actor-DDhZuMGl.d.cts} +2 -2
- package/dist/{actor-C0gLJq8I.js → actor-DPD6Gbdn.js} +190 -677
- package/dist/{assert_rejects-DiIiJbZn.js → assert_rejects-Ce45JcFg.js} +1 -1
- package/dist/{assert_is_error-BPGph1Jx.js → assert_throws-BNXdRGWP.js} +31 -1
- package/dist/{builder-JjsppXTK.js → builder-Dn87hy75.js} +3 -4
- package/dist/{client-bgSdkFa2.d.ts → client-Bkaw0_PR.d.ts} +1 -1
- package/dist/{client-CegPX0Rn.d.cts → client-Cle5j1T1.d.cts} +1 -1
- package/dist/{client-BS-GE3XI.js → client-D6-5okV1.js} +1 -1
- package/dist/compat/mod.d.cts +11 -11
- package/dist/compat/mod.d.ts +12 -12
- package/dist/compat/transformers.test.js +20 -20
- package/dist/{context-DYCJXr7J.d.cts → context-BOYzcFSe.d.cts} +10 -10
- package/dist/{context-B1X8-X33.d.ts → context-DqFifMwj.d.ts} +11 -11
- package/dist/{authdocloader-C8LXxsmU.js → docloader-B2BFBGqv.js} +18 -8
- package/dist/{esm-CvUgdJZ_.js → esm-CU0Dnk7T.js} +11 -11
- package/dist/federation/builder.test.js +8 -10
- package/dist/federation/collection.test.js +7 -9
- package/dist/federation/handler.test.js +25 -26
- package/dist/federation/idempotency.test.js +25 -26
- package/dist/federation/inbox.test.js +4 -6
- package/dist/federation/keycache.test.js +3 -4
- package/dist/federation/kv.test.js +6 -8
- package/dist/federation/middleware.test.js +26 -27
- package/dist/federation/mod.cjs +10 -11
- package/dist/federation/mod.d.cts +10 -10
- package/dist/federation/mod.d.ts +12 -12
- package/dist/federation/mod.js +10 -11
- package/dist/federation/mq.test.js +8 -10
- package/dist/federation/negotiation.test.js +7 -9
- package/dist/federation/retry.test.js +4 -5
- package/dist/federation/router.test.js +6 -8
- package/dist/federation/send.test.js +13 -15
- package/dist/{http-D-e6AFwR.d.cts → http-B6SKO6NJ.d.cts} +2 -2
- package/dist/{http-D6Uj2x2y.d.ts → http-BE7aFuqn.d.ts} +2 -2
- package/dist/{http-D_BI5KHC.cjs → http-DMsjudj8.cjs} +289 -9
- package/dist/{http-DbyMqL2X.js → http-DN0v2zoF.js} +2 -2
- package/dist/{http-DVQEn98K.js → http-DcDb8r1W.js} +256 -6
- package/dist/{inbox-DQlf_-Dz.js → inbox-CgGy7Hzc.js} +1 -1
- package/dist/{key-BSJX6n9o.js → key-jSvnymAk.js} +3 -2
- package/dist/{keycache-CcIfdj0m.js → keycache-IVLjlAK9.js} +1 -1
- package/dist/{keys-DnSaJmvD.js → keys-BKM2Mqu2.js} +2 -1
- package/dist/{docloader-BdF5STdg.cjs → kv-cache-BHIupktM.cjs} +69 -651
- package/dist/kv-cache-DNvS-egZ.js +4236 -0
- package/dist/{docloader-AMdJU291.js → kv-cache-ydIs4Ul6.js} +68 -596
- package/dist/{ld-CAJ6Q2od.js → ld-CcsryBo0.js} +3 -2
- package/dist/{lookup-BGCuyJRy.js → lookup-BV3A9Zbc.js} +63 -2
- package/dist/{type-COb6KNlm.js → lookup-BbEekiru.js} +588 -5303
- package/dist/{lookup-B2Bsau2g.cjs → lookup-CMAGfQ1Q.cjs} +78 -5
- package/dist/{middleware-1oxZY_0z.js → middleware-D-vPitR-.js} +11 -11
- package/dist/{middleware-BDqkoMAQ.js → middleware-Dm8sXYUr.js} +18 -17
- package/dist/middleware-DzA970CF.js +16 -0
- package/dist/middleware-VpoC5jyA.js +26 -0
- package/dist/middleware-W_-inBoE.cjs +16 -0
- package/dist/{middleware-D0XMPoN8.cjs → middleware-ekn2KaOw.cjs} +31 -31
- package/dist/{mod-CxkWO3Mg.d.cts → mod--K7l84wp.d.cts} +3 -2
- package/dist/{mod-DBzN0aCM.d.ts → mod-CB80AlIA.d.ts} +1 -1
- package/dist/mod-CLKu6Uo_.d.cts +107 -0
- package/dist/{mod-Djzcw2ry.d.cts → mod-COlOrmr9.d.cts} +3 -3
- package/dist/{mod-DlU8ISoa.d.ts → mod-CRENK2dd.d.ts} +3 -2
- package/dist/{mod-DcKxhFQ8.d.ts → mod-CaWbCg0N.d.ts} +2 -2
- package/dist/mod-Cm97bAiT.d.ts +109 -0
- package/dist/{mod-twdvV2hR.d.cts → mod-D9XZsft2.d.cts} +2 -2
- package/dist/{mod-BhUKmBJD.d.ts → mod-DLIidI_j.d.ts} +3 -3
- package/dist/{mod-jQ4OODsl.d.cts → mod-DuclhZjh.d.cts} +1 -1
- package/dist/mod.cjs +21 -32
- package/dist/mod.d.cts +14 -14
- package/dist/mod.d.ts +17 -17
- package/dist/mod.js +15 -16
- package/dist/nodeinfo/client.test.js +8 -10
- package/dist/nodeinfo/handler.test.js +24 -25
- package/dist/nodeinfo/mod.cjs +3 -3
- package/dist/nodeinfo/mod.d.cts +2 -3
- package/dist/nodeinfo/mod.d.ts +3 -4
- package/dist/nodeinfo/mod.js +3 -3
- package/dist/nodeinfo/types.test.js +7 -9
- package/dist/{owner-hd9lvQcP.d.ts → owner-CktUdA0h.d.ts} +3 -3
- package/dist/{owner-BN_tO3cY.d.cts → owner-dkg5OpSC.d.cts} +3 -3
- package/dist/{owner-CaIfLBwg.js → owner-n5c_oZ_M.js} +3 -2
- package/dist/{proof-CKXppjee.js → proof-CLwByIT1.js} +5 -4
- package/dist/{proof-AhyVJcNZ.cjs → proof-CZfrp13P.cjs} +17 -16
- package/dist/{proof-BQwXHakc.js → proof-CsFR7fiS.js} +2 -2
- package/dist/request-BbHkedIU.d.cts +35 -0
- package/dist/request-DKGQaofB.js +184 -0
- package/dist/request-U1t6zZtk.d.ts +39 -0
- package/dist/request-XHWUW2bi.cjs +208 -0
- package/dist/{send-DQd3R1Oc.js → send-eW9JIzQV.js} +2 -2
- package/dist/sig/http.test.js +12 -13
- package/dist/sig/key.test.js +9 -11
- package/dist/sig/ld.test.js +8 -10
- package/dist/sig/mod.cjs +10 -11
- package/dist/sig/mod.d.cts +6 -7
- package/dist/sig/mod.d.ts +6 -7
- package/dist/sig/mod.js +6 -7
- package/dist/sig/owner.test.js +10 -12
- package/dist/sig/proof.test.js +13 -14
- package/dist/testing/docloader.test.js +6 -8
- package/dist/testing/mod.d.ts +3 -62
- package/dist/testing/mod.js +2 -3
- package/dist/{testing-BljKU-GG.js → testing-ClYSmXdi.js} +1 -2
- package/dist/{types-DI0yutHB.cjs → types-BT0xc4-R.cjs} +3 -3
- package/dist/{types-CEn4wB51.js → types-DaPoJTSc.js} +1 -1
- package/dist/{runtime/authdocloader.test.js → utils/docloader.test.js} +13 -15
- package/dist/utils/kv-cache.test.js +208 -0
- package/dist/utils/mod.cjs +14 -0
- package/dist/utils/mod.d.cts +6 -0
- package/dist/utils/mod.d.ts +8 -0
- package/dist/utils/mod.js +12 -0
- package/dist/utils/request.test.js +48 -0
- package/dist/utils/url.test.js +41 -0
- package/dist/vocab/actor.test.js +8 -10
- package/dist/vocab/lookup.test.js +7 -9
- package/dist/vocab/mod.cjs +4 -4
- package/dist/vocab/mod.d.cts +4 -5
- package/dist/vocab/mod.d.ts +4 -5
- package/dist/vocab/mod.js +4 -4
- package/dist/vocab/type.test.js +2 -3
- package/dist/vocab/vocab.test.js +9 -10
- package/dist/{vocab-NZXL5Pr-.cjs → vocab-CxTuoEVd.cjs} +6 -5
- package/dist/{vocab-Dw1-yVGg.d.cts → vocab-DCBw44JZ.d.cts} +2 -21
- package/dist/{vocab-BI0Ak5lL.d.ts → vocab-ivDKb439.d.ts} +2 -21
- package/dist/{vocab-CkWH9P5l.js → vocab-yFT-fQBj.js} +4 -3
- package/dist/webfinger/handler.test.js +24 -25
- package/dist/webfinger/lookup.test.js +7 -9
- package/dist/webfinger/mod.cjs +3 -3
- package/dist/webfinger/mod.d.cts +2 -3
- package/dist/webfinger/mod.d.ts +2 -3
- package/dist/webfinger/mod.js +3 -3
- package/dist/x/cfworkers.d.cts +1 -1
- package/dist/x/cfworkers.d.ts +2 -2
- package/dist/x/cfworkers.test.js +6 -8
- package/dist/x/hono.d.cts +10 -10
- package/dist/x/hono.d.ts +11 -11
- package/dist/x/sveltekit.d.cts +10 -10
- package/dist/x/sveltekit.d.ts +11 -11
- package/package.json +16 -14
- package/dist/assert_throws-BOO88avQ.js +0 -39
- package/dist/authdocloader-6F9IP-VO.js +0 -52
- package/dist/authdocloader-BkuVo8LL.cjs +0 -58
- package/dist/docloader-CxWcuWqQ.d.ts +0 -221
- package/dist/docloader-D-MrRyHl.d.cts +0 -219
- package/dist/key-BBzfhQGE.js +0 -10
- package/dist/key-BMz_uAnc.cjs +0 -10
- package/dist/key-D-RgWfcf.cjs +0 -290
- package/dist/key-DFefr8X2.js +0 -260
- package/dist/key-DW2DrPGl.js +0 -10
- package/dist/lookup-C3pnuyiD.js +0 -331
- package/dist/middleware-B8WWe8Q2.js +0 -26
- package/dist/middleware-DipQbJmB.js +0 -17
- package/dist/middleware-mLaQeD_Z.cjs +0 -17
- package/dist/mod-CerN_Sza.d.ts +0 -104
- package/dist/mod-Cj1tHXBR.d.cts +0 -102
- package/dist/runtime/docloader.test.js +0 -522
- package/dist/runtime/key.test.js +0 -103
- package/dist/runtime/langstr.test.d.ts +0 -3
- package/dist/runtime/langstr.test.js +0 -39
- package/dist/runtime/link.test.d.ts +0 -3
- package/dist/runtime/link.test.js +0 -61
- package/dist/runtime/mod.cjs +0 -25
- package/dist/runtime/mod.d.cts +0 -6
- package/dist/runtime/mod.d.ts +0 -8
- package/dist/runtime/mod.js +0 -13
- package/dist/runtime/multibase/multibase.test.d.ts +0 -3
- package/dist/runtime/multibase/multibase.test.js +0 -358
- package/dist/runtime/url.test.js +0 -45
- /package/dist/{assert_not_equals-f3m3epl3.js → assert_not_equals-C80BG-_5.js} +0 -0
- /package/dist/{collection-CcnIw1qY.js → collection-BzWsN9pB.js} +0 -0
- /package/dist/{denokv-Bv33Xxea.js → denokv-CCssOzMJ.js} +0 -0
- /package/dist/{federation-H2_En3j5.cjs → federation-DOuZpcAw.cjs} +0 -0
- /package/dist/{federation-D1U8YY9t.js → federation-pZJsapBn.js} +0 -0
- /package/dist/{kv-63Cil1MD.d.cts → kv-BMKIFXNW.d.cts} +0 -0
- /package/dist/{kv-C7sopW2E.d.ts → kv-Dt06smFt.d.ts} +0 -0
- /package/dist/{mod-1pDWKvUL.d.ts → mod-B-ZQqbGe.d.ts} +0 -0
- /package/dist/{mod-g0xFzAP9.d.ts → mod-CjsiSl7_.d.ts} +0 -0
- /package/dist/{mq-CRGm1e_F.d.ts → mq-CPRJk4mZ.d.ts} +0 -0
- /package/dist/{negotiation-5NPJL6zp.js → negotiation-C4nFufNk.js} +0 -0
- /package/dist/{nodeinfo-DfycQ8Wf.js → nodeinfo-B0UefMXO.js} +0 -0
- /package/dist/{nodeinfo-Co9lJrWl.cjs → nodeinfo-ByTd7HpT.cjs} +0 -0
- /package/dist/{retry-D4GJ670a.js → retry-CfF8Gn4d.js} +0 -0
- /package/dist/{runtime-C58AJWSv.cjs → sig-DE_NC_VQ.cjs} +0 -0
- /package/dist/{runtime-DPYEDf-o.js → sig-Dx59zAgn.js} +0 -0
- /package/dist/{std__assert-X-_kMxKM.js → std__assert-DWivtrGR.js} +0 -0
- /package/dist/{types-BSuWJsOm.js → types-C2XVl6gj.js} +0 -0
- /package/dist/{runtime → utils}/docloader.test.d.ts +0 -0
- /package/dist/{runtime/authdocloader.test.d.ts → utils/kv-cache.test.d.ts} +0 -0
- /package/dist/{runtime/key.test.d.ts → utils/request.test.d.ts} +0 -0
- /package/dist/{runtime → utils}/url.test.d.ts +0 -0
- /package/dist/{sig-ByHXzqUi.cjs → utils-B6yXfxAQ.cjs} +0 -0
- /package/dist/{sig-Cj3tk-ig.js → utils-BXMGcmqK.js} +0 -0
- /package/dist/{webfinger-BjOEdFPs.cjs → webfinger-C949bxcD.cjs} +0 -0
- /package/dist/{webfinger-De_bU0iE.js → webfinger-qG8R5jc3.js} +0 -0
@@ -3,8 +3,9 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { CryptographicKey, Object as Object$1
|
7
|
-
import { isActor } from "./actor-
|
6
|
+
import { CryptographicKey, Object as Object$1 } from "./lookup-BbEekiru.js";
|
7
|
+
import { isActor } from "./actor-Cg8ZhoVF.js";
|
8
|
+
import { getDocumentLoader } from "@fedify/vocab-runtime";
|
8
9
|
import { trace } from "@opentelemetry/api";
|
9
10
|
|
10
11
|
//#region src/sig/owner.ts
|
@@ -2,14 +2,15 @@
|
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
|
5
|
-
import { deno_default
|
6
|
-
import { Activity, CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1, getTypeId, isActor } from "./actor-
|
7
|
-
import { fetchKey, validateCryptoKey } from "./
|
5
|
+
import { deno_default } from "./request-DKGQaofB.js";
|
6
|
+
import { Activity, CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1, getTypeId, isActor } from "./actor-DPD6Gbdn.js";
|
7
|
+
import { fetchKey, validateCryptoKey } from "./http-DcDb8r1W.js";
|
8
8
|
import { getLogger } from "@logtape/logtape";
|
9
9
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
10
10
|
import jsonld from "jsonld";
|
11
|
-
import {
|
11
|
+
import { getDocumentLoader } from "@fedify/vocab-runtime";
|
12
12
|
import { encodeHex } from "byte-encodings/hex";
|
13
|
+
import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
|
13
14
|
import serialize from "json-canon";
|
14
15
|
|
15
16
|
//#region src/sig/ld.ts
|
@@ -3,14 +3,15 @@
|
|
3
3
|
const { URLPattern } = require("urlpattern-polyfill");
|
4
4
|
|
5
5
|
const require_chunk = require('./chunk-DqRYRqnO.cjs');
|
6
|
-
const
|
7
|
-
const require_actor = require('./actor-
|
8
|
-
const
|
6
|
+
const require_request = require('./request-XHWUW2bi.cjs');
|
7
|
+
const require_actor = require('./actor-D020hlx3.cjs');
|
8
|
+
const require_http = require('./http-DMsjudj8.cjs');
|
9
9
|
const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
|
10
10
|
const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
|
11
11
|
const jsonld = require_chunk.__toESM(require("jsonld"));
|
12
|
-
const
|
12
|
+
const __fedify_vocab_runtime = require_chunk.__toESM(require("@fedify/vocab-runtime"));
|
13
13
|
const byte_encodings_hex = require_chunk.__toESM(require("byte-encodings/hex"));
|
14
|
+
const byte_encodings_base64 = require_chunk.__toESM(require("byte-encodings/base64"));
|
14
15
|
const json_canon = require_chunk.__toESM(require("json-canon"));
|
15
16
|
|
16
17
|
//#region src/sig/ld.ts
|
@@ -47,7 +48,7 @@ function attachSignature(jsonLd, signature) {
|
|
47
48
|
* @since 1.0.0
|
48
49
|
*/
|
49
50
|
async function createSignature(jsonLd, privateKey, keyId, { contextLoader, created } = {}) {
|
50
|
-
|
51
|
+
require_http.validateCryptoKey(privateKey, "private");
|
51
52
|
if (privateKey.algorithm.name !== "RSASSA-PKCS1-v1_5") throw new TypeError("Unsupported algorithm: " + privateKey.algorithm.name);
|
52
53
|
const options = {
|
53
54
|
"@context": "https://w3id.org/identity/v1",
|
@@ -81,7 +82,7 @@ async function createSignature(jsonLd, privateKey, keyId, { contextLoader, creat
|
|
81
82
|
*/
|
82
83
|
async function signJsonLd(jsonLd, privateKey, keyId, options) {
|
83
84
|
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
84
|
-
const tracer = tracerProvider.getTracer(
|
85
|
+
const tracer = tracerProvider.getTracer(require_request.deno_default.name, require_request.deno_default.version);
|
85
86
|
return await tracer.startActiveSpan("ld_signatures.sign", { attributes: { "ld_signatures.key_id": keyId.href } }, async (span) => {
|
86
87
|
try {
|
87
88
|
const signature = await createSignature(jsonLd, privateKey, keyId, options);
|
@@ -150,7 +151,7 @@ async function verifySignature(jsonLd, options = {}) {
|
|
150
151
|
});
|
151
152
|
return null;
|
152
153
|
}
|
153
|
-
const { key, cached } = await
|
154
|
+
const { key, cached } = await require_http.fetchKey(new URL(sig.creator), require_actor.CryptographicKey, options);
|
154
155
|
if (key == null) return null;
|
155
156
|
const sigOpts = {
|
156
157
|
...sig,
|
@@ -191,7 +192,7 @@ async function verifySignature(jsonLd, options = {}) {
|
|
191
192
|
keyId: sig.creator,
|
192
193
|
...sig
|
193
194
|
});
|
194
|
-
const { key: key$1 } = await
|
195
|
+
const { key: key$1 } = await require_http.fetchKey(new URL(sig.creator), require_actor.CryptographicKey, {
|
195
196
|
...options,
|
196
197
|
keyCache: {
|
197
198
|
get: () => Promise.resolve(void 0),
|
@@ -220,7 +221,7 @@ async function verifySignature(jsonLd, options = {}) {
|
|
220
221
|
*/
|
221
222
|
async function verifyJsonLd(jsonLd, options = {}) {
|
222
223
|
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
223
|
-
const tracer = tracerProvider.getTracer(
|
224
|
+
const tracer = tracerProvider.getTracer(require_request.deno_default.name, require_request.deno_default.version);
|
224
225
|
return await tracer.startActiveSpan("ld_signatures.verify", async (span) => {
|
225
226
|
try {
|
226
227
|
const object = await require_actor.Object.fromJsonLd(jsonLd, options);
|
@@ -259,7 +260,7 @@ async function verifyJsonLd(jsonLd, options = {}) {
|
|
259
260
|
async function hashJsonLd(jsonLd, contextLoader) {
|
260
261
|
const canon = await jsonld.default.canonize(jsonLd, {
|
261
262
|
format: "application/n-quads",
|
262
|
-
documentLoader: contextLoader ??
|
263
|
+
documentLoader: contextLoader ?? (0, __fedify_vocab_runtime.getDocumentLoader)()
|
263
264
|
});
|
264
265
|
const encoder = new TextEncoder();
|
265
266
|
const hash = await crypto.subtle.digest("SHA-256", encoder.encode(canon));
|
@@ -294,8 +295,8 @@ async function doesActorOwnKey(activity, key, options) {
|
|
294
295
|
*/
|
295
296
|
async function getKeyOwner(keyId, options) {
|
296
297
|
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
297
|
-
const documentLoader = options.documentLoader ??
|
298
|
-
const contextLoader = options.contextLoader ??
|
298
|
+
const documentLoader = options.documentLoader ?? (0, __fedify_vocab_runtime.getDocumentLoader)();
|
299
|
+
const contextLoader = options.contextLoader ?? (0, __fedify_vocab_runtime.getDocumentLoader)();
|
299
300
|
let object;
|
300
301
|
if (keyId instanceof require_actor.CryptographicKey) {
|
301
302
|
object = keyId;
|
@@ -362,7 +363,7 @@ const logger = (0, __logtape_logtape.getLogger)([
|
|
362
363
|
* @since 0.10.0
|
363
364
|
*/
|
364
365
|
async function createProof(object, privateKey, keyId, { contextLoader, context, created } = {}) {
|
365
|
-
|
366
|
+
require_http.validateCryptoKey(privateKey, "private");
|
366
367
|
if (privateKey.algorithm.name !== "Ed25519") throw new TypeError("Unsupported algorithm: " + privateKey.algorithm.name);
|
367
368
|
const objectWithoutProofs = object.clone({ proofs: [] });
|
368
369
|
const compactMsg = await objectWithoutProofs.toJsonLd({
|
@@ -410,7 +411,7 @@ async function createProof(object, privateKey, keyId, { contextLoader, context,
|
|
410
411
|
*/
|
411
412
|
async function signObject(object, privateKey, keyId, options = {}) {
|
412
413
|
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
413
|
-
const tracer = tracerProvider.getTracer(
|
414
|
+
const tracer = tracerProvider.getTracer(require_request.deno_default.name, require_request.deno_default.version);
|
414
415
|
return await tracer.startActiveSpan("object_integrity_proofs.sign", { attributes: { "activitypub.object.type": require_actor.getTypeId(object).href } }, async (span) => {
|
415
416
|
try {
|
416
417
|
if (object.id != null) span.setAttribute("activitypub.object.id", object.id.href);
|
@@ -446,7 +447,7 @@ async function signObject(object, privateKey, keyId, options = {}) {
|
|
446
447
|
*/
|
447
448
|
async function verifyProof(jsonLd, proof, options = {}) {
|
448
449
|
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
449
|
-
const tracer = tracerProvider.getTracer(
|
450
|
+
const tracer = tracerProvider.getTracer(require_request.deno_default.name, require_request.deno_default.version);
|
450
451
|
return await tracer.startActiveSpan("object_integrity_proofs.verify", async (span) => {
|
451
452
|
if (span.isRecording()) {
|
452
453
|
if (proof.cryptosuite != null) span.setAttribute("object_integrity_proofs.cryptosuite", proof.cryptosuite);
|
@@ -470,7 +471,7 @@ async function verifyProof(jsonLd, proof, options = {}) {
|
|
470
471
|
}
|
471
472
|
async function verifyProofInternal(jsonLd, proof, options) {
|
472
473
|
if (typeof jsonLd !== "object" || proof.cryptosuite !== "eddsa-jcs-2022" || proof.verificationMethodId == null || proof.proofPurpose !== "assertionMethod" || proof.proofValue == null || proof.created == null) return null;
|
473
|
-
const publicKeyPromise =
|
474
|
+
const publicKeyPromise = require_http.fetchKey(proof.verificationMethodId, require_actor.Multikey, options);
|
474
475
|
const proofConfig = {
|
475
476
|
"@context": jsonLd["@context"],
|
476
477
|
type: "DataIntegrityProof",
|
@@ -3,8 +3,8 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { Activity, DataIntegrityProof, Multikey, deno_default, getTypeId } from "./
|
7
|
-
import { fetchKey, validateCryptoKey } from "./key-
|
6
|
+
import { Activity, DataIntegrityProof, Multikey, deno_default, getTypeId } from "./lookup-BbEekiru.js";
|
7
|
+
import { fetchKey, validateCryptoKey } from "./key-jSvnymAk.js";
|
8
8
|
import { getLogger } from "@logtape/logtape";
|
9
9
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
10
10
|
import { encodeHex } from "byte-encodings/hex";
|
@@ -0,0 +1,35 @@
|
|
1
|
+
//#region src/utils/request.d.ts
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Options for making `User-Agent` string.
|
5
|
+
* @see {@link getUserAgent}
|
6
|
+
* @since 1.3.0
|
7
|
+
*/
|
8
|
+
interface GetUserAgentOptions {
|
9
|
+
/**
|
10
|
+
* An optional software name and version, e.g., `"Hollo/1.0.0"`.
|
11
|
+
*/
|
12
|
+
software?: string | null;
|
13
|
+
/**
|
14
|
+
* An optional URL to append to the user agent string.
|
15
|
+
* Usually the URL of the ActivityPub instance.
|
16
|
+
*/
|
17
|
+
url?: string | URL | null;
|
18
|
+
}
|
19
|
+
/**
|
20
|
+
* Gets the user agent string for the given application and URL.
|
21
|
+
* @param options The options for making the user agent string.
|
22
|
+
* @returns The user agent string.
|
23
|
+
* @since 1.3.0
|
24
|
+
*/
|
25
|
+
declare function getUserAgent({
|
26
|
+
software,
|
27
|
+
url
|
28
|
+
}?: GetUserAgentOptions): string;
|
29
|
+
/**
|
30
|
+
* Logs the request.
|
31
|
+
* @param request The request to log.
|
32
|
+
* @internal
|
33
|
+
*/
|
34
|
+
//#endregion
|
35
|
+
export { GetUserAgentOptions, getUserAgent };
|
@@ -0,0 +1,184 @@
|
|
1
|
+
|
2
|
+
import { Temporal } from "@js-temporal/polyfill";
|
3
|
+
import { URLPattern } from "urlpattern-polyfill";
|
4
|
+
|
5
|
+
import process from "node:process";
|
6
|
+
|
7
|
+
//#region deno.json
|
8
|
+
var name = "@fedify/fedify";
|
9
|
+
var version = "2.0.0-pr.451.1730+9a5d9152";
|
10
|
+
var license = "MIT";
|
11
|
+
var exports = {
|
12
|
+
".": "./src/mod.ts",
|
13
|
+
"./compat": "./src/compat/mod.ts",
|
14
|
+
"./federation": "./src/federation/mod.ts",
|
15
|
+
"./nodeinfo": "./src/nodeinfo/mod.ts",
|
16
|
+
"./sig": "./src/sig/mod.ts",
|
17
|
+
"./testing": "./src/testing/mod.ts",
|
18
|
+
"./vocab": "./src/vocab/mod.ts",
|
19
|
+
"./utils": "./src/utils/mod.ts",
|
20
|
+
"./webfinger": "./src/webfinger/mod.ts",
|
21
|
+
"./x/cfworkers": "./src/x/cfworkers.ts",
|
22
|
+
"./x/denokv": "./src/x/denokv.ts",
|
23
|
+
"./x/fresh": "./src/x/fresh.ts",
|
24
|
+
"./x/hono": "./src/x/hono.ts",
|
25
|
+
"./x/sveltekit": "./src/x/sveltekit.ts"
|
26
|
+
};
|
27
|
+
var imports = {
|
28
|
+
"@cfworker/json-schema": "npm:@cfworker/json-schema@^4.1.1",
|
29
|
+
"@fxts/core": "npm:@fxts/core@^1.15.0",
|
30
|
+
"@multiformats/base-x": "npm:@multiformats/base-x@^4.0.1",
|
31
|
+
"@opentelemetry/api": "npm:@opentelemetry/api@^1.9.0",
|
32
|
+
"@opentelemetry/semantic-conventions": "npm:@opentelemetry/semantic-conventions@^1.27.0",
|
33
|
+
"@std/assert": "jsr:@std/assert@^0.226.0",
|
34
|
+
"@std/testing": "jsr:@std/testing@^0.224.0",
|
35
|
+
"@std/url": "jsr:@std/url@^0.225.1",
|
36
|
+
"asn1js": "npm:asn1js@^3.0.5",
|
37
|
+
"byte-encodings": "npm:byte-encodings@^1.0.11",
|
38
|
+
"es-toolkit": "jsr:@es-toolkit/es-toolkit@^1.39.5",
|
39
|
+
"fast-check": "npm:fast-check@^3.22.0",
|
40
|
+
"fetch-mock": "npm:fetch-mock@^12.5.2",
|
41
|
+
"json-canon": "npm:json-canon@^1.0.1",
|
42
|
+
"jsonld": "npm:jsonld@^8.3.2",
|
43
|
+
"multicodec": "npm:multicodec@^3.2.1",
|
44
|
+
"pkijs": "npm:pkijs@^3.2.4",
|
45
|
+
"structured-field-values": "npm:structured-field-values@^2.0.4",
|
46
|
+
"uri-template-router": "npm:uri-template-router@^0.0.17",
|
47
|
+
"url-template": "npm:url-template@^3.1.1"
|
48
|
+
};
|
49
|
+
var include = ["src/vocab/vocab.ts"];
|
50
|
+
var exclude = [
|
51
|
+
".test-report.xml",
|
52
|
+
"apidoc/",
|
53
|
+
"dist/",
|
54
|
+
"node_modules/",
|
55
|
+
"npm/",
|
56
|
+
"pnpm-lock.yaml",
|
57
|
+
"src/cfworkers/dist/",
|
58
|
+
"src/cfworkers/fixtures/",
|
59
|
+
"src/cfworkers/imports.ts",
|
60
|
+
"src/cfworkers/README.md",
|
61
|
+
"src/cfworkers/server.ts",
|
62
|
+
"src/cfworkers/server.js",
|
63
|
+
"src/cfworkers/server.js.map",
|
64
|
+
"src/codegen/schema.yaml",
|
65
|
+
"src/vocab/*.yaml",
|
66
|
+
"!src/vocab/vocab.ts"
|
67
|
+
];
|
68
|
+
var tasks = {
|
69
|
+
"codegen": "GENPATH=vocab-$(deno eval \"console.log(crypto.randomUUID());\").ts && deno run --allow-read --allow-write --check src/codegen/main.ts src/vocab/ src/vocab/$GENPATH && deno fmt src/vocab/$GENPATH && mv src/vocab/$GENPATH src/vocab/vocab.ts && deno cache src/vocab/vocab.ts && deno check src/vocab/vocab.ts",
|
70
|
+
"cache": {
|
71
|
+
"command": "deno cache src/mod.ts",
|
72
|
+
"dependencies": ["codegen"]
|
73
|
+
},
|
74
|
+
"check": {
|
75
|
+
"command": "deno fmt --check && deno lint && deno check src/**/*.ts",
|
76
|
+
"dependencies": ["codegen"]
|
77
|
+
},
|
78
|
+
"test": {
|
79
|
+
"command": "deno test --check --doc --allow-read --allow-write --allow-env --unstable-kv --trace-leaks --parallel",
|
80
|
+
"dependencies": ["codegen"]
|
81
|
+
},
|
82
|
+
"coverage": "deno task test --clean --coverage && deno coverage --html coverage",
|
83
|
+
"bench": {
|
84
|
+
"command": "deno bench --allow-read --allow-write --allow-net --allow-env --allow-run --unstable-kv",
|
85
|
+
"dependencies": ["codegen"]
|
86
|
+
},
|
87
|
+
"apidoc": {
|
88
|
+
"command": "deno doc --html --name=Fedify --output=apidoc/ src/mod.ts",
|
89
|
+
"dependencies": ["codegen"]
|
90
|
+
},
|
91
|
+
"publish": {
|
92
|
+
"command": "deno publish",
|
93
|
+
"dependencies": ["codegen"]
|
94
|
+
},
|
95
|
+
"pnpm:install": "pnpm install --silent",
|
96
|
+
"pnpm:build": {
|
97
|
+
"command": "pnpm exec tsdown",
|
98
|
+
"dependencies": [
|
99
|
+
"codegen",
|
100
|
+
"pnpm:install",
|
101
|
+
"pnpm:build-vocab"
|
102
|
+
]
|
103
|
+
},
|
104
|
+
"pnpm:build-vocab-runtime": { "command": "cd ../vocab/runtime && pnpm build" },
|
105
|
+
"pnpm:build-vocab": { "dependencies": ["pnpm:build-vocab-runtime"] },
|
106
|
+
"test:node": {
|
107
|
+
"command": "cd dist/ && node --test",
|
108
|
+
"dependencies": ["pnpm:build"]
|
109
|
+
},
|
110
|
+
"test:bun": {
|
111
|
+
"command": "cd dist/ && bun test --timeout 60000",
|
112
|
+
"dependencies": ["pnpm:build-vocab", "pnpm:build"]
|
113
|
+
},
|
114
|
+
"test:cfworkers": {
|
115
|
+
"command": "pnpm exec wrangler deploy --dry-run --outdir src/cfworkers && node --import=tsx src/cfworkers/client.ts",
|
116
|
+
"dependencies": ["pnpm:build-vocab", "pnpm:build"]
|
117
|
+
},
|
118
|
+
"test-all": { "dependencies": [
|
119
|
+
"check",
|
120
|
+
"test",
|
121
|
+
"test:node",
|
122
|
+
"test:bun",
|
123
|
+
"test:cfworkers"
|
124
|
+
] }
|
125
|
+
};
|
126
|
+
var deno_default = {
|
127
|
+
name,
|
128
|
+
version,
|
129
|
+
license,
|
130
|
+
exports,
|
131
|
+
imports,
|
132
|
+
include,
|
133
|
+
exclude,
|
134
|
+
tasks
|
135
|
+
};
|
136
|
+
|
137
|
+
//#endregion
|
138
|
+
//#region src/utils/request.ts
|
139
|
+
/**
|
140
|
+
* Creates a request for the given URL.
|
141
|
+
* @param url The URL to create the request for.
|
142
|
+
* @param options The options for the request.
|
143
|
+
* @returns The created request.
|
144
|
+
* @internal
|
145
|
+
*/
|
146
|
+
function createActivityPubRequest(url, options = {}) {
|
147
|
+
return new Request(url, {
|
148
|
+
headers: {
|
149
|
+
Accept: "application/activity+json, application/ld+json",
|
150
|
+
"User-Agent": typeof options.userAgent === "string" ? options.userAgent : getUserAgent(options.userAgent)
|
151
|
+
},
|
152
|
+
redirect: "manual"
|
153
|
+
});
|
154
|
+
}
|
155
|
+
/**
|
156
|
+
* Gets the user agent string for the given application and URL.
|
157
|
+
* @param options The options for making the user agent string.
|
158
|
+
* @returns The user agent string.
|
159
|
+
* @since 1.3.0
|
160
|
+
*/
|
161
|
+
function getUserAgent({ software, url } = {}) {
|
162
|
+
const fedify = `Fedify/${deno_default.version}`;
|
163
|
+
const runtime = globalThis.Deno?.version?.deno != null ? `Deno/${Deno.version.deno}` : globalThis.process?.versions?.bun != null ? `Bun/${process.versions.bun}` : "navigator" in globalThis && navigator.userAgent === "Cloudflare-Workers" ? navigator.userAgent : globalThis.process?.versions?.node != null ? `Node.js/${process.versions.node}` : null;
|
164
|
+
const userAgent = software == null ? [fedify] : [software, fedify];
|
165
|
+
if (runtime != null) userAgent.push(runtime);
|
166
|
+
if (url != null) userAgent.push(`+${url.toString()}`);
|
167
|
+
const first = userAgent.shift();
|
168
|
+
return `${first} (${userAgent.join("; ")})`;
|
169
|
+
}
|
170
|
+
/**
|
171
|
+
* Logs the request.
|
172
|
+
* @param request The request to log.
|
173
|
+
* @internal
|
174
|
+
*/
|
175
|
+
function logRequest(logger, request) {
|
176
|
+
logger.debug("Fetching document: {method} {url} {headers}", {
|
177
|
+
method: request.method,
|
178
|
+
url: request.url,
|
179
|
+
headers: Object.fromEntries(request.headers.entries())
|
180
|
+
});
|
181
|
+
}
|
182
|
+
|
183
|
+
//#endregion
|
184
|
+
export { createActivityPubRequest, deno_default, getUserAgent, logRequest };
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { Temporal } from "@js-temporal/polyfill";
|
2
|
+
import { URLPattern } from "urlpattern-polyfill";
|
3
|
+
import "@logtape/logtape";
|
4
|
+
|
5
|
+
//#region src/utils/request.d.ts
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Options for making `User-Agent` string.
|
9
|
+
* @see {@link getUserAgent}
|
10
|
+
* @since 1.3.0
|
11
|
+
*/
|
12
|
+
interface GetUserAgentOptions {
|
13
|
+
/**
|
14
|
+
* An optional software name and version, e.g., `"Hollo/1.0.0"`.
|
15
|
+
*/
|
16
|
+
software?: string | null;
|
17
|
+
/**
|
18
|
+
* An optional URL to append to the user agent string.
|
19
|
+
* Usually the URL of the ActivityPub instance.
|
20
|
+
*/
|
21
|
+
url?: string | URL | null;
|
22
|
+
}
|
23
|
+
/**
|
24
|
+
* Gets the user agent string for the given application and URL.
|
25
|
+
* @param options The options for making the user agent string.
|
26
|
+
* @returns The user agent string.
|
27
|
+
* @since 1.3.0
|
28
|
+
*/
|
29
|
+
declare function getUserAgent({
|
30
|
+
software,
|
31
|
+
url
|
32
|
+
}?: GetUserAgentOptions): string;
|
33
|
+
/**
|
34
|
+
* Logs the request.
|
35
|
+
* @param request The request to log.
|
36
|
+
* @internal
|
37
|
+
*/
|
38
|
+
//#endregion
|
39
|
+
export { GetUserAgentOptions, getUserAgent };
|
@@ -0,0 +1,208 @@
|
|
1
|
+
|
2
|
+
const { Temporal } = require("@js-temporal/polyfill");
|
3
|
+
const { URLPattern } = require("urlpattern-polyfill");
|
4
|
+
|
5
|
+
const require_chunk = require('./chunk-DqRYRqnO.cjs');
|
6
|
+
const node_process = require_chunk.__toESM(require("node:process"));
|
7
|
+
|
8
|
+
//#region deno.json
|
9
|
+
var name = "@fedify/fedify";
|
10
|
+
var version = "2.0.0-pr.451.1730+9a5d9152";
|
11
|
+
var license = "MIT";
|
12
|
+
var exports$1 = {
|
13
|
+
".": "./src/mod.ts",
|
14
|
+
"./compat": "./src/compat/mod.ts",
|
15
|
+
"./federation": "./src/federation/mod.ts",
|
16
|
+
"./nodeinfo": "./src/nodeinfo/mod.ts",
|
17
|
+
"./sig": "./src/sig/mod.ts",
|
18
|
+
"./testing": "./src/testing/mod.ts",
|
19
|
+
"./vocab": "./src/vocab/mod.ts",
|
20
|
+
"./utils": "./src/utils/mod.ts",
|
21
|
+
"./webfinger": "./src/webfinger/mod.ts",
|
22
|
+
"./x/cfworkers": "./src/x/cfworkers.ts",
|
23
|
+
"./x/denokv": "./src/x/denokv.ts",
|
24
|
+
"./x/fresh": "./src/x/fresh.ts",
|
25
|
+
"./x/hono": "./src/x/hono.ts",
|
26
|
+
"./x/sveltekit": "./src/x/sveltekit.ts"
|
27
|
+
};
|
28
|
+
var imports = {
|
29
|
+
"@cfworker/json-schema": "npm:@cfworker/json-schema@^4.1.1",
|
30
|
+
"@fxts/core": "npm:@fxts/core@^1.15.0",
|
31
|
+
"@multiformats/base-x": "npm:@multiformats/base-x@^4.0.1",
|
32
|
+
"@opentelemetry/api": "npm:@opentelemetry/api@^1.9.0",
|
33
|
+
"@opentelemetry/semantic-conventions": "npm:@opentelemetry/semantic-conventions@^1.27.0",
|
34
|
+
"@std/assert": "jsr:@std/assert@^0.226.0",
|
35
|
+
"@std/testing": "jsr:@std/testing@^0.224.0",
|
36
|
+
"@std/url": "jsr:@std/url@^0.225.1",
|
37
|
+
"asn1js": "npm:asn1js@^3.0.5",
|
38
|
+
"byte-encodings": "npm:byte-encodings@^1.0.11",
|
39
|
+
"es-toolkit": "jsr:@es-toolkit/es-toolkit@^1.39.5",
|
40
|
+
"fast-check": "npm:fast-check@^3.22.0",
|
41
|
+
"fetch-mock": "npm:fetch-mock@^12.5.2",
|
42
|
+
"json-canon": "npm:json-canon@^1.0.1",
|
43
|
+
"jsonld": "npm:jsonld@^8.3.2",
|
44
|
+
"multicodec": "npm:multicodec@^3.2.1",
|
45
|
+
"pkijs": "npm:pkijs@^3.2.4",
|
46
|
+
"structured-field-values": "npm:structured-field-values@^2.0.4",
|
47
|
+
"uri-template-router": "npm:uri-template-router@^0.0.17",
|
48
|
+
"url-template": "npm:url-template@^3.1.1"
|
49
|
+
};
|
50
|
+
var include = ["src/vocab/vocab.ts"];
|
51
|
+
var exclude = [
|
52
|
+
".test-report.xml",
|
53
|
+
"apidoc/",
|
54
|
+
"dist/",
|
55
|
+
"node_modules/",
|
56
|
+
"npm/",
|
57
|
+
"pnpm-lock.yaml",
|
58
|
+
"src/cfworkers/dist/",
|
59
|
+
"src/cfworkers/fixtures/",
|
60
|
+
"src/cfworkers/imports.ts",
|
61
|
+
"src/cfworkers/README.md",
|
62
|
+
"src/cfworkers/server.ts",
|
63
|
+
"src/cfworkers/server.js",
|
64
|
+
"src/cfworkers/server.js.map",
|
65
|
+
"src/codegen/schema.yaml",
|
66
|
+
"src/vocab/*.yaml",
|
67
|
+
"!src/vocab/vocab.ts"
|
68
|
+
];
|
69
|
+
var tasks = {
|
70
|
+
"codegen": "GENPATH=vocab-$(deno eval \"console.log(crypto.randomUUID());\").ts && deno run --allow-read --allow-write --check src/codegen/main.ts src/vocab/ src/vocab/$GENPATH && deno fmt src/vocab/$GENPATH && mv src/vocab/$GENPATH src/vocab/vocab.ts && deno cache src/vocab/vocab.ts && deno check src/vocab/vocab.ts",
|
71
|
+
"cache": {
|
72
|
+
"command": "deno cache src/mod.ts",
|
73
|
+
"dependencies": ["codegen"]
|
74
|
+
},
|
75
|
+
"check": {
|
76
|
+
"command": "deno fmt --check && deno lint && deno check src/**/*.ts",
|
77
|
+
"dependencies": ["codegen"]
|
78
|
+
},
|
79
|
+
"test": {
|
80
|
+
"command": "deno test --check --doc --allow-read --allow-write --allow-env --unstable-kv --trace-leaks --parallel",
|
81
|
+
"dependencies": ["codegen"]
|
82
|
+
},
|
83
|
+
"coverage": "deno task test --clean --coverage && deno coverage --html coverage",
|
84
|
+
"bench": {
|
85
|
+
"command": "deno bench --allow-read --allow-write --allow-net --allow-env --allow-run --unstable-kv",
|
86
|
+
"dependencies": ["codegen"]
|
87
|
+
},
|
88
|
+
"apidoc": {
|
89
|
+
"command": "deno doc --html --name=Fedify --output=apidoc/ src/mod.ts",
|
90
|
+
"dependencies": ["codegen"]
|
91
|
+
},
|
92
|
+
"publish": {
|
93
|
+
"command": "deno publish",
|
94
|
+
"dependencies": ["codegen"]
|
95
|
+
},
|
96
|
+
"pnpm:install": "pnpm install --silent",
|
97
|
+
"pnpm:build": {
|
98
|
+
"command": "pnpm exec tsdown",
|
99
|
+
"dependencies": [
|
100
|
+
"codegen",
|
101
|
+
"pnpm:install",
|
102
|
+
"pnpm:build-vocab"
|
103
|
+
]
|
104
|
+
},
|
105
|
+
"pnpm:build-vocab-runtime": { "command": "cd ../vocab/runtime && pnpm build" },
|
106
|
+
"pnpm:build-vocab": { "dependencies": ["pnpm:build-vocab-runtime"] },
|
107
|
+
"test:node": {
|
108
|
+
"command": "cd dist/ && node --test",
|
109
|
+
"dependencies": ["pnpm:build"]
|
110
|
+
},
|
111
|
+
"test:bun": {
|
112
|
+
"command": "cd dist/ && bun test --timeout 60000",
|
113
|
+
"dependencies": ["pnpm:build-vocab", "pnpm:build"]
|
114
|
+
},
|
115
|
+
"test:cfworkers": {
|
116
|
+
"command": "pnpm exec wrangler deploy --dry-run --outdir src/cfworkers && node --import=tsx src/cfworkers/client.ts",
|
117
|
+
"dependencies": ["pnpm:build-vocab", "pnpm:build"]
|
118
|
+
},
|
119
|
+
"test-all": { "dependencies": [
|
120
|
+
"check",
|
121
|
+
"test",
|
122
|
+
"test:node",
|
123
|
+
"test:bun",
|
124
|
+
"test:cfworkers"
|
125
|
+
] }
|
126
|
+
};
|
127
|
+
var deno_default = {
|
128
|
+
name,
|
129
|
+
version,
|
130
|
+
license,
|
131
|
+
exports: exports$1,
|
132
|
+
imports,
|
133
|
+
include,
|
134
|
+
exclude,
|
135
|
+
tasks
|
136
|
+
};
|
137
|
+
|
138
|
+
//#endregion
|
139
|
+
//#region src/utils/request.ts
|
140
|
+
/**
|
141
|
+
* Creates a request for the given URL.
|
142
|
+
* @param url The URL to create the request for.
|
143
|
+
* @param options The options for the request.
|
144
|
+
* @returns The created request.
|
145
|
+
* @internal
|
146
|
+
*/
|
147
|
+
function createActivityPubRequest(url, options = {}) {
|
148
|
+
return new Request(url, {
|
149
|
+
headers: {
|
150
|
+
Accept: "application/activity+json, application/ld+json",
|
151
|
+
"User-Agent": typeof options.userAgent === "string" ? options.userAgent : getUserAgent(options.userAgent)
|
152
|
+
},
|
153
|
+
redirect: "manual"
|
154
|
+
});
|
155
|
+
}
|
156
|
+
/**
|
157
|
+
* Gets the user agent string for the given application and URL.
|
158
|
+
* @param options The options for making the user agent string.
|
159
|
+
* @returns The user agent string.
|
160
|
+
* @since 1.3.0
|
161
|
+
*/
|
162
|
+
function getUserAgent({ software, url } = {}) {
|
163
|
+
const fedify = `Fedify/${deno_default.version}`;
|
164
|
+
const runtime = globalThis.Deno?.version?.deno != null ? `Deno/${Deno.version.deno}` : globalThis.process?.versions?.bun != null ? `Bun/${node_process.default.versions.bun}` : "navigator" in globalThis && navigator.userAgent === "Cloudflare-Workers" ? navigator.userAgent : globalThis.process?.versions?.node != null ? `Node.js/${node_process.default.versions.node}` : null;
|
165
|
+
const userAgent = software == null ? [fedify] : [software, fedify];
|
166
|
+
if (runtime != null) userAgent.push(runtime);
|
167
|
+
if (url != null) userAgent.push(`+${url.toString()}`);
|
168
|
+
const first = userAgent.shift();
|
169
|
+
return `${first} (${userAgent.join("; ")})`;
|
170
|
+
}
|
171
|
+
/**
|
172
|
+
* Logs the request.
|
173
|
+
* @param request The request to log.
|
174
|
+
* @internal
|
175
|
+
*/
|
176
|
+
function logRequest(logger, request) {
|
177
|
+
logger.debug("Fetching document: {method} {url} {headers}", {
|
178
|
+
method: request.method,
|
179
|
+
url: request.url,
|
180
|
+
headers: Object.fromEntries(request.headers.entries())
|
181
|
+
});
|
182
|
+
}
|
183
|
+
|
184
|
+
//#endregion
|
185
|
+
Object.defineProperty(exports, 'createActivityPubRequest', {
|
186
|
+
enumerable: true,
|
187
|
+
get: function () {
|
188
|
+
return createActivityPubRequest;
|
189
|
+
}
|
190
|
+
});
|
191
|
+
Object.defineProperty(exports, 'deno_default', {
|
192
|
+
enumerable: true,
|
193
|
+
get: function () {
|
194
|
+
return deno_default;
|
195
|
+
}
|
196
|
+
});
|
197
|
+
Object.defineProperty(exports, 'getUserAgent', {
|
198
|
+
enumerable: true,
|
199
|
+
get: function () {
|
200
|
+
return getUserAgent;
|
201
|
+
}
|
202
|
+
});
|
203
|
+
Object.defineProperty(exports, 'logRequest', {
|
204
|
+
enumerable: true,
|
205
|
+
get: function () {
|
206
|
+
return logRequest;
|
207
|
+
}
|
208
|
+
});
|
@@ -3,8 +3,8 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { deno_default } from "./
|
7
|
-
import { doubleKnock } from "./http-
|
6
|
+
import { deno_default } from "./lookup-BbEekiru.js";
|
7
|
+
import { doubleKnock } from "./http-DN0v2zoF.js";
|
8
8
|
import { getLogger } from "@logtape/logtape";
|
9
9
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
10
10
|
|