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

Function qualityHandler

api/quality.js:5–25  ·  view source on GitHub ↗
(url)

Source from the content-addressed store, hash-verified

3import { requireEnv, upstreamError } from './_common/upstream.js';
4
5const qualityHandler = async (url) => {
6 const auth = requireEnv('GOOGLE_CLOUD_API_KEY', 'Quality check');
7 if (auth.skipped) return auth;
8 const endpoint =
9 `https://www.googleapis.com/pagespeedonline/v5/runPagespeed?` +
10 `url=${encodeURIComponent(url)}&category=PERFORMANCE&category=ACCESSIBILITY` +
11 `&category=BEST_PRACTICES&category=SEO&category=PWA&strategy=mobile` +
12 `&key=${auth.value}`;
13
14 let data;
15 try {
16 data = (await httpGet(endpoint)).data;
17 } catch (error) {
18 return upstreamError(error, 'Quality check');
19 }
20 const result = data.lighthouseResult || data;
21 if (!result?.categories || !Object.keys(result.categories).length) {
22 return { skipped: 'No quality report available for this URL' };
23 }
24 return result;
25};
26
27export const handler = middleware(qualityHandler);
28export default handler;

Callers

nothing calls this directly

Calls 3

requireEnvFunction · 0.90
httpGetFunction · 0.90
upstreamErrorFunction · 0.90

Tested by

no test coverage detected