coach-core
Version:
Core package for the Coach.
34 lines (32 loc) • 885 B
JavaScript
import * as util from '../util.js';
export default {
id: 'manyHeaders',
title: 'Avoid use too many response headers',
description: 'Avoid send too many response headers.',
weight: 1,
severity: 'info',
tags: ['bestpractice', 'headers'],
processPage: function (page) {
const offending = [];
let score = 100;
let advice = '';
for (const asset of page.assets) {
const maxHeaders = 30;
// Report responses with more than 30 headers
if (Object.keys(asset.headers.response).length > maxHeaders) {
offending.push(asset.url);
score -= 1;
advice +=
util.shortURL(asset.url) +
' has ' +
util.plural(Object.keys(asset.headers.response).length, 'header') +
'.';
}
}
return {
score: Math.max(0, score),
offending: offending,
advice: advice
};
}
};