summary refs log tree commit diff
path: root/scripts/ap
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/ap')
-rw-r--r--scripts/ap/get.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/scripts/ap/get.js b/scripts/ap/get.js
new file mode 100644

index 00000000..ab235427 --- /dev/null +++ b/scripts/ap/get.js
@@ -0,0 +1,34 @@ +const nodeFetch = require("node-fetch"); + +const fetch = (url, opts) => + nodeFetch(url, { + ...opts, + headers: { + Accept: "application/activity+json", + ...(opts?.headers || {}), + }, + }).then((x) => x.json()); + +const webfinger = async (domain, user) => { + const query = `https://${domain}/.well-known/webfinger?resource=@${user}@${domain}`; + const json = await fetch(query); + return json.links.find((x) => x.rel == "self").href; +}; + +(async () => { + const userLocation = await webfinger( + "chat.understars.dev", + "1140599542186631381", + ); + console.log(userLocation); + + const user = await fetch(userLocation); + + const outbox = await fetch(user.outbox); + + const firstPage = await fetch(outbox.first); + + const mostRecent = firstPage.orderedItems[0]; + + console.log(mostRecent); +})();