Skip to content

Commit

Permalink
Keep request/response headers as is and fix cookie count. (#93)
Browse files Browse the repository at this point in the history
Before we flatten the response headers, meaning if we got duplicate
header names, we lost all except one. Fixes this also fix so we
get the correct number of cookies that is set.
  • Loading branch information
soulgalore committed Dec 11, 2020
1 parent 2fa861c commit e0f4203
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 17 deletions.
16 changes: 8 additions & 8 deletions lib/collect.js
Expand Up @@ -43,10 +43,8 @@ module.exports = {
asset: entry => {
const response = entry.response;
const request = entry.request;

const contentType = util.getContentType(response.content.mimeType);
const requestHeaders = headers.flatten(request.headers);
const responseHeaders = headers.flatten(response.headers);
const responseHeadersFlatten = headers.flatten(response.headers);
const content =
response.content && response.content.text ? response.content.text : '';
const timings = {
Expand All @@ -73,14 +71,16 @@ module.exports = {
contentSize:
response.content.size < 0 ? response.bodySize : response.content.size,
headerSize: response.headersSize,
expires: headers.getExpires(responseHeaders),
expires: headers.getExpires(responseHeadersFlatten),
status: response.status,
timeSinceLastModified: headers.getTimeSinceLastModified(responseHeaders),
cookieName: headers.getCookieName(responseHeaders),
timeSinceLastModified: headers.getTimeSinceLastModified(
responseHeadersFlatten
),
cookieNames: headers.getCookieNames(response.headers),
httpVersion: util.getHTTPVersion(response.httpVersion),
headers: {
request: requestHeaders,
response: responseHeaders
request: request.headers,
response: response.headers
},
totalTime,
timings,
Expand Down
12 changes: 6 additions & 6 deletions lib/headers.js
Expand Up @@ -82,11 +82,11 @@ module.exports = {
return (dateMillis - lastModifiedMillis) / 1000;
},

getCookieName: headers => {
const cookies = headers['set-cookie'];
if (cookies) {
return cookies.split('=')[0];
}
return '';
getCookieNames: headers => {
const cookies = headers.filter(h => h.name.match(/^set-cookie$/i));
const cookieNames = cookies.map(h => {
return h.value.split('=')[0];
});
return cookieNames;
}
};
6 changes: 3 additions & 3 deletions lib/index.js
Expand Up @@ -232,9 +232,9 @@ module.exports = {
stats.headerSize + asset.headerSize || asset.headerSize;
collect.contentType(asset, stats.contentTypes);
}
if (asset.cookieName !== '') {
currentPage.cookieNames.push(asset.cookieName);
currentPage.cookies += 1;
if (asset.cookieNames.length > 0) {
currentPage.cookieNames.push(...asset.cookieNames);
currentPage.cookies += asset.cookieNames.length;
}
currentPage.requests += 1;
});
Expand Down

0 comments on commit e0f4203

Please sign in to comment.