Skip to content

Commit

Permalink
Fix wrong redirect chain logging
Browse files Browse the repository at this point in the history
  • Loading branch information
Munter committed Jul 21, 2014
1 parent 0590802 commit e17a418
Showing 1 changed file with 21 additions and 6 deletions.
27 changes: 21 additions & 6 deletions lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,25 @@ module.exports = function (options) {
relations = relations || [];

if (status !== 200 || redirects.length || options.verbose) {
redirects.forEach(function (redirect) {
process.stdout.write(colorStatus(redirect.statusCode) + ' ' + redirect.redirectUri + chalk.yellow(' --> '));
});
if (redirects.length) {
var log = [].concat({ redirectUri: url }, redirects).map(function (item, idx, arr) {
if (arr[idx + 1]) {
item.statusCode = arr[idx + 1].statusCode;
} else {
item.statusCode = 200;
}

return item;
});

console.log(colorStatus(status), url);
var logLine = log.map(function (redirect) {
return colorStatus(redirect.statusCode) + ' ' + redirect.redirectUri;
}).join(chalk.yellow(' --> '));

console.log(logLine);
} else {
console.log(colorStatus(status), url);
}

_.uniq(relations.map(function (relation) {
return relation.from.urlOrDescription.replace(/#.*$/, '');
Expand Down Expand Up @@ -84,11 +98,12 @@ module.exports = function (options) {
callback(undefined, status);
} else {
status = res.statusCode;
redirects = res.request.redirects;
redirects = res.request.redirects || [];
var firstRedirectStatus = redirects[0] && redirects[0].statusCode;

logHttpResult(status, url, redirects, relations);

callback(undefined, redirects[0] && redirects[0].statusCode || status);
callback(undefined, firstRedirectStatus || status);
}

});
Expand Down

0 comments on commit e17a418

Please sign in to comment.