diff --git a/src/job-types/relay-info.ts b/src/job-types/relay-info.ts index 7ce1ee9..2b44828 100644 --- a/src/job-types/relay-info.ts +++ b/src/job-types/relay-info.ts @@ -21,21 +21,21 @@ export const relayInfoJob = async (event: NDKEvent): Promise => { relays.push(input) } - const wssPrefix = 'wss://' + const prefixes = { wss: 'wss://', https: 'https://', http: 'http://' } const headers = { headers: { Accept: 'application/nostr+json' } } const requests = relays.map((relay) => { - if (relay.startsWith(wssPrefix)) { - relay = relay.replace(wssPrefix, '') + if (relay.startsWith(prefixes.wss)) { + relay = relay.replace(prefixes.wss, '') } return axios - .get((relay = `https://${relay}`), headers) + .get((relay = `${prefixes.https}${relay}`), headers) .catch(() => { return axios - .get(`http://${relay}`, headers) + .get(`${prefixes.http}${relay}`, headers) .catch(() => undefined) }) }) @@ -43,7 +43,15 @@ export const relayInfoJob = async (event: NDKEvent): Promise => { let responses = await Promise.all(requests) responses = responses.filter((response) => response !== undefined) - const data = responses.map((response) => response.data) + const relaysInfo: { [key: string]: RelayInfo } = {} - return Promise.resolve(JSON.stringify(data)) + responses.forEach((response) => { + const relayURI = response.config.url + .replace(prefixes.https, prefixes.wss) + .replace(prefixes.http, prefixes.wss) + + relaysInfo[relayURI] = response.data + }) + + return Promise.resolve(JSON.stringify(relaysInfo)) }