mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
Handle webscoket item being parseable but not an object better
and add test
This commit is contained in:
parent
33e20c9969
commit
dc75a5812f
@ -178,6 +178,9 @@ module.exports = function(RED) {
|
|||||||
if (this.wholemsg) {
|
if (this.wholemsg) {
|
||||||
try {
|
try {
|
||||||
msg = JSON.parse(data);
|
msg = JSON.parse(data);
|
||||||
|
if (typeof msg !== "object" && !Array.isArray(msg) && (msg !== null)) {
|
||||||
|
msg = { payload:msg };
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch(err) {
|
catch(err) {
|
||||||
msg = { payload:data };
|
msg = { payload:data };
|
||||||
|
@ -179,6 +179,24 @@ describe('websocket Node', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should receive wholemsg when data not object', function(done) {
|
||||||
|
var flow = [
|
||||||
|
{ id: "n1", type: "websocket-listener", path: "/ws", wholemsg: "true" },
|
||||||
|
{ id: "n2", type: "websocket in", server: "n1", wires: [["n3"]] },
|
||||||
|
{ id: "n3", type: "helper" }];
|
||||||
|
helper.load(websocketNode, flow, function() {
|
||||||
|
createClient("n1").then(function(sock) {
|
||||||
|
helper.getNode("n3").on("input", function(msg) {
|
||||||
|
msg.should.have.property("payload", 123);
|
||||||
|
done();
|
||||||
|
});
|
||||||
|
sock.send(123);
|
||||||
|
}).catch(function(err) {
|
||||||
|
done(err);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
it('should send', function(done) {
|
it('should send', function(done) {
|
||||||
var flow = [
|
var flow = [
|
||||||
{ id: "n1", type: "websocket-listener", path: "/ws" },
|
{ id: "n1", type: "websocket-listener", path: "/ws" },
|
||||||
|
Loading…
Reference in New Issue
Block a user