Add invocation counter and logging to track fetch calls in getMentionsFor function
All checks were successful
Deploy / deploy (push) Successful in 1m16s
All checks were successful
Deploy / deploy (push) Successful in 1m16s
This commit is contained in:
parent
c4e12619a1
commit
fb59d20200
1 changed files with 4 additions and 4 deletions
|
|
@ -40,7 +40,7 @@ interface WMResponse {
|
||||||
|
|
||||||
const API = 'https://webmention.io/api/mentions.jf2';
|
const API = 'https://webmention.io/api/mentions.jf2';
|
||||||
|
|
||||||
const perTargetCache = new Map<string, WMEntry[]>();
|
let invocationCounter = 0;
|
||||||
|
|
||||||
async function fetchForTarget(target: string): Promise<WMEntry[]> {
|
async function fetchForTarget(target: string): Promise<WMEntry[]> {
|
||||||
const token = import.meta.env.WEBMENTION_TOKEN;
|
const token = import.meta.env.WEBMENTION_TOKEN;
|
||||||
|
|
@ -73,8 +73,8 @@ export async function getMentionsFor(target: string | URL): Promise<WMEntry[]> {
|
||||||
const withSlash = canonical.endsWith('/') ? canonical : `${canonical}/`;
|
const withSlash = canonical.endsWith('/') ? canonical : `${canonical}/`;
|
||||||
const withoutSlash = canonical.replace(/\/+$/, '');
|
const withoutSlash = canonical.replace(/\/+$/, '');
|
||||||
|
|
||||||
const cached = perTargetCache.get(canonical);
|
const invocation = ++invocationCounter;
|
||||||
if (cached) return cached;
|
console.log(`[webmentions getMentionsFor #${invocation}] target=${canonical}`);
|
||||||
|
|
||||||
const [a, b] = await Promise.all([fetchForTarget(withSlash), fetchForTarget(withoutSlash)]);
|
const [a, b] = await Promise.all([fetchForTarget(withSlash), fetchForTarget(withoutSlash)]);
|
||||||
const seen = new Set<number>();
|
const seen = new Set<number>();
|
||||||
|
|
@ -86,7 +86,7 @@ export async function getMentionsFor(target: string | URL): Promise<WMEntry[]> {
|
||||||
merged.push(m);
|
merged.push(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
perTargetCache.set(canonical, merged);
|
console.log(`[webmentions getMentionsFor #${invocation}] returning ${merged.length} mentions for ${canonical}`);
|
||||||
return merged;
|
return merged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue