Skip to content

Commit b52ccd4

Browse files
committed
Merge pull request molnarg#180 from felicienfrancois/throw-to-emit-error
emit error events instead of throwing Error
2 parents 606a591 + 0bd6cac commit b52ccd4

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

lib/http.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -364,19 +364,19 @@ OutgoingMessage.prototype._finish = function _finish() {
364364

365365
OutgoingMessage.prototype.setHeader = function setHeader(name, value) {
366366
if (this.headersSent) {
367-
throw new Error('Can\'t set headers after they are sent.');
367+
return this.emit('error', new Error('Can\'t set headers after they are sent.'));
368368
} else {
369369
name = name.toLowerCase();
370370
if (deprecatedHeaders.indexOf(name) !== -1) {
371-
throw new Error('Cannot set deprecated header: ' + name);
371+
return this.emit('error', new Error('Cannot set deprecated header: ' + name));
372372
}
373373
this._headers[name] = value;
374374
}
375375
};
376376

377377
OutgoingMessage.prototype.removeHeader = function removeHeader(name) {
378378
if (this.headersSent) {
379-
throw new Error('Can\'t remove headers after they are sent.');
379+
return this.emit('error', new Error('Can\'t remove headers after they are sent.'));
380380
} else {
381381
delete this._headers[name.toLowerCase()];
382382
}
@@ -920,7 +920,7 @@ Agent.prototype.request = function request(options, callback) {
920920

921921
if (!options.plain && options.protocol === 'http:') {
922922
this._log.error('Trying to negotiate client request with Upgrade from HTTP/1.1');
923-
throw new Error('HTTP1.1 -> HTTP2 upgrade is not yet supported.');
923+
this.emit('error', new Error('HTTP1.1 -> HTTP2 upgrade is not yet supported.'));
924924
}
925925

926926
var request = new OutgoingRequest(this._log);

lib/protocol/stream.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -625,7 +625,7 @@ Stream.prototype._transition = function transition(sending, frame) {
625625
// * When sending something invalid, throwing an exception, since it is probably a bug.
626626
if (sending) {
627627
this._log.error(info, 'Sending illegal frame.');
628-
throw new Error('Sending illegal frame (' + frame.type + ') in ' + this.state + ' state.');
628+
return this.emit('error', new Error('Sending illegal frame (' + frame.type + ') in ' + this.state + ' state.'));
629629
}
630630

631631
// * In case of a serious problem, emitting and error and letting someone else handle it

0 commit comments

Comments
 (0)