convert nip-05 json to lowercase

This commit is contained in:
hzrd149 2023-02-14 22:04:10 -06:00
parent 1ffe70cf09
commit 21a49d7aa8

View File

@ -2,7 +2,7 @@ import moment from "moment";
import db from "./db";
function parseAddress(address: string): { name?: string; domain?: string } {
const parts = address.toLowerCase().split("@");
const parts = address.trim().toLowerCase().split("@");
return { name: parts[0], domain: parts[1] };
}
@ -33,10 +33,25 @@ async function fetchAllIdentities(domain: string) {
async function fetchIdentity(address: string) {
const { name, domain } = parseAddress(address);
if (!name || !domain) return undefined;
const json = await fetch(`https://${domain}/.well-known/nostr.json?name=${name}`).then(
(res) => res.json() as Promise<IdentityJson>
);
if (!name || !domain) throw new Error("invalid address");
const json = await fetch(`https://${domain}/.well-known/nostr.json?name=${name}`)
.then((res) => res.json() as Promise<IdentityJson>)
.then((json) => {
// convert all keys in names, and relays to lower case
if (json.names) {
for (const [name, pubkey] of Object.entries(json.names)) {
delete json.names[name];
json.names[name.toLowerCase()] = pubkey;
}
}
if (json.relays) {
for (const [name, pubkey] of Object.entries(json.relays)) {
delete json.relays[name];
json.relays[name.toLowerCase()] = pubkey;
}
}
return json;
});
await addToCache(domain, json);