Fix warning reporting in net transports
This commit is contained in:
parent
0642977538
commit
0f2a21c134
|
@ -466,6 +466,9 @@ var error = exports.error = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// XXX(Kagami): Rename `fatal` field to `type`? `fatal` used in spec
|
||||||
|
// but it's rather unintuitive.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @typedef {Object} DecodeResult
|
* @typedef {Object} DecodeResult
|
||||||
* @property {number} fatal - Type of the error
|
* @property {number} fatal - Type of the error
|
||||||
|
|
|
@ -76,10 +76,6 @@ function TcpTransport(opts) {
|
||||||
|
|
||||||
inherits(TcpTransport, BaseTransport);
|
inherits(TcpTransport, BaseTransport);
|
||||||
|
|
||||||
function getfrom(client) {
|
|
||||||
return unmap(client.remoteAddress) + ":" + client.remotePort;
|
|
||||||
}
|
|
||||||
|
|
||||||
TcpTransport.prototype._sendVersion = function() {
|
TcpTransport.prototype._sendVersion = function() {
|
||||||
return this.send(messages.version.encode({
|
return this.send(messages.version.encode({
|
||||||
services: this.services,
|
services: this.services,
|
||||||
|
@ -137,8 +133,7 @@ TcpTransport.prototype._setupClient = function(client, incoming) {
|
||||||
// TODO(Kagami): Send `error` message and ban node for some time
|
// TODO(Kagami): Send `error` message and ban node for some time
|
||||||
// if there were too many errors?
|
// if there were too many errors?
|
||||||
self.emit("warning", new Error(
|
self.emit("warning", new Error(
|
||||||
"Message decoding error from " + getfrom(client) + ": " +
|
"Message decoding error: " + decoded.error.message
|
||||||
decoded.error
|
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,10 +50,6 @@ function WsTransport(opts) {
|
||||||
|
|
||||||
inherits(WsTransport, BaseTransport);
|
inherits(WsTransport, BaseTransport);
|
||||||
|
|
||||||
function getfrom(client) {
|
|
||||||
return unmap(client._socket.remoteAddress) + ":" + client._socket.remotePort;
|
|
||||||
}
|
|
||||||
|
|
||||||
WsTransport.prototype._sendVersion = function() {
|
WsTransport.prototype._sendVersion = function() {
|
||||||
return this.send(messages.version.encode({
|
return this.send(messages.version.encode({
|
||||||
services: this.services,
|
services: this.services,
|
||||||
|
@ -105,15 +101,13 @@ WsTransport.prototype._setupClient = function(client, incoming) {
|
||||||
if (!flags.binary) {
|
if (!flags.binary) {
|
||||||
// TODO(Kagami): Send `error` message and ban node for some time
|
// TODO(Kagami): Send `error` message and ban node for some time
|
||||||
// if there were too many errors?
|
// if there were too many errors?
|
||||||
return self.emit("warning", new Error(
|
return self.emit("warning", new Error("Peer sent non-binary data"));
|
||||||
"Peer " + getfrom(client) + " sent non-binary data"
|
|
||||||
));
|
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
decoded = structs.message.decode(data);
|
decoded = structs.message.decode(data);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
return self.emit("warning", new Error(
|
return self.emit("warning", new Error(
|
||||||
"Message decoding error from " + getfrom(client) + ": " + err
|
"Message decoding error: " + err.message
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
self.emit("message", decoded.command, decoded.payload, decoded);
|
self.emit("message", decoded.command, decoded.payload, decoded);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user