MCPcopy
hub / github.com/lissy93/web-check / rankHandler

Function rankHandler

api/rank.js:6–26  ·  view source on GitHub ↗
(url)

Source from the content-addressed store, hash-verified

4import { upstreamError } from './_common/upstream.js';
5
6const rankHandler = async (url) => {
7 const { hostname: domain } = parseTarget(url);
8 const { TRANCO_USERNAME, TRANCO_API_KEY } = process.env;
9 const auth = TRANCO_API_KEY
10 ? { auth: { username: TRANCO_USERNAME, password: TRANCO_API_KEY } }
11 : {};
12 try {
13 const response = await httpGet(`https://tranco-list.eu/api/ranks/domain/${domain}`, {
14 timeout: 5000,
15 ...auth,
16 });
17 if (!response.data?.ranks?.length) {
18 return {
19 skipped: `${domain} isn't ranked in the top 1 million sites yet`,
20 };
21 }
22 return response.data;
23 } catch (error) {
24 return upstreamError(error, 'Tranco rank lookup');
25 }
26};
27
28export const handler = middleware(rankHandler);
29export default handler;

Callers

nothing calls this directly

Calls 3

parseTargetFunction · 0.90
httpGetFunction · 0.90
upstreamErrorFunction · 0.90

Tested by

no test coverage detected