signs all activitypub requests
This commit is contained in:
@@ -13,16 +13,19 @@ export async function POST(event: RequestEvent) {
|
||||
return json("Bad request", { status: 400 });
|
||||
}
|
||||
|
||||
// Clone original headers to ensure no loss
|
||||
const originalHeaders: Record<string, string> = {};
|
||||
event.request.headers.forEach((value, key) => {
|
||||
originalHeaders[key] = value
|
||||
});
|
||||
|
||||
// Add forwarded path
|
||||
originalHeaders['X-Forwarded-Path'] = event.url.pathname;
|
||||
|
||||
const success = await event.locals.pb.send("/activitypub/activity/process", {
|
||||
method: "POST",
|
||||
fetch: event.fetch,
|
||||
headers: {
|
||||
'X-Forwarded-Path': event.url.pathname,
|
||||
'Content-Type': event.request.headers.get("content-type")!,
|
||||
signature: event.request.headers.get("signature")!,
|
||||
date: event.request.headers.get("date")!,
|
||||
digest: event.request.headers.get("digest")!
|
||||
},
|
||||
headers: originalHeaders,
|
||||
body: JSON.stringify(activity)
|
||||
})
|
||||
|
||||
|
||||
@@ -22,16 +22,8 @@ export async function GET(event: RequestEvent) {
|
||||
const { actor }: { actor: Actor } = await event.locals.pb.send(`/activitypub/actor?resource=acct:${handle}`, { method: "GET", fetch: event.fetch, });
|
||||
|
||||
const page = event.url.searchParams.get("page") ?? "1"
|
||||
const headers = new Headers()
|
||||
headers.set("Accept", 'application/ld+json')
|
||||
|
||||
const r = await event.fetch(actor[type as "followers" | "following"]! + '?' + new URLSearchParams({ page }), { headers })
|
||||
|
||||
if (!r.ok) {
|
||||
const errorResponse = await r.json()
|
||||
throw new ClientResponseError({ status: r.status, response: errorResponse });
|
||||
}
|
||||
const followers: APOrderedCollectionPage = await r.json()
|
||||
|
||||
const followers: APOrderedCollectionPage = await event.locals.pb.send(`/activitypub/actor/${actor.id}/${type}?page=${page}`, { method: "GET", fetch: event.fetch, });
|
||||
|
||||
const followerActors: Actor[] = []
|
||||
for (const f of followers.orderedItems ?? []) {
|
||||
|
||||
Reference in New Issue
Block a user