Skip to content

Commit

Permalink
Move try/catch logic to separate function
Browse files Browse the repository at this point in the history
  • Loading branch information
kanongil committed May 24, 2016
1 parent 6f81b6a commit 5e98494
Showing 1 changed file with 31 additions and 23 deletions.
54 changes: 31 additions & 23 deletions lib/transmit.js
Original file line number Diff line number Diff line change
Expand Up @@ -291,29 +291,9 @@ internals.transmit = function (response, callback) {

// Write headers

const headers = Object.keys(response.headers);
try {
for (let i = 0; i < headers.length; ++i) {
const header = headers[i];
const value = response.headers[header];
if (value !== undefined) {
request.raw.res.setHeader(header, value);
}
}

request.raw.res.writeHead(response.statusCode);
}
catch (err) {

// Reset headers

request.raw.res._headers = null;
request.raw.res._headerNames = {};

return process.nextTick(() => {

return callback(Boom.wrap(err));
});
const res = internals.writeHead(response);
if (res) {
return process.nextTick(callback, res);
}

// Write payload
Expand Down Expand Up @@ -393,6 +373,34 @@ internals.transmit = function (response, callback) {
};


internals.writeHead = function (response) {

const res = response.request.raw.res;

try {
const headers = Object.keys(response.headers);
for (let i = 0; i < headers.length; ++i) {
const header = headers[i];
const value = response.headers[header];
if (value !== undefined) {
res.setHeader(header, value);
}
}

res.writeHead(response.statusCode);
}
catch (err) {

// Reset headers and return err

res._headers = null;
res._headerNames = {};

return Boom.wrap(err);
}
};


internals.Empty = function () {

Stream.Readable.call(this);
Expand Down

0 comments on commit 5e98494

Please sign in to comment.