mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
design/TODO comments
This commit is contained in:
parent
6bac207611
commit
00db43198d
@ -439,12 +439,12 @@ module.exports = function(RED) {
|
||||
}
|
||||
}
|
||||
});
|
||||
//TODO: what to do with this event? Anything? Necessary?
|
||||
node.client.on("disconnect", function(packet) {
|
||||
//Emitted after receiving disconnect packet from broker. MQTT 5.0 feature.
|
||||
console.log('MQTTBrokerNode disconnect', packet)
|
||||
var rc = packet && packet.properties && packet.properties.reasonString;
|
||||
var rc = packet && packet.properties && packet.reasonCode;
|
||||
//TODO: what to do with this event? Anything necessary?
|
||||
});
|
||||
// Register disconnect handlers
|
||||
node.client.on('close', function () {
|
||||
@ -733,6 +733,7 @@ module.exports = function(RED) {
|
||||
msg.qos = Number(node.qos || msg.qos || 0);
|
||||
msg.retain = node.retain || msg.retain || false;
|
||||
msg.retain = ((msg.retain === true) || (msg.retain === "true")) || false;
|
||||
/** If node property exists, override/set that to property in msg */
|
||||
let msgPropOverride = function(propName) { if(node[propName]) { msg[propName] = node[propName]; } }
|
||||
msgPropOverride("topic");
|
||||
if(v5) {
|
||||
@ -744,6 +745,8 @@ module.exports = function(RED) {
|
||||
let correlationData = RED.util.evaluateNodeProperty(node.correlationData, node.correlationDataType, node, msg);
|
||||
if(correlationData) msg.correlationData = correlationData;
|
||||
}
|
||||
//Next, update/override the msg.xxxx properties from config
|
||||
//TODO: Should we be expecting msg.properties.xxxx instead of msg.xxxx?
|
||||
msgPropOverride("responseTopic");
|
||||
msgPropOverride("contentType");
|
||||
msgPropOverride("topicAlias");
|
||||
@ -758,12 +761,15 @@ module.exports = function(RED) {
|
||||
if ( msg.hasOwnProperty("payload")) {
|
||||
let topicOK = msg.hasOwnProperty("topic") && (typeof msg.topic === "string") && (msg.topic !== "");
|
||||
if (!topicOK && v5) {
|
||||
//NOTE: A value of 0 (in server props topicAliasMaximum) indicates that the Server does not accept any Topic Aliases on this connection
|
||||
if (msg.hasOwnProperty("topicAlias") && typeof msg.topicAlias === "number" && msg.topicAlias >= 0 && node.brokerConn.serverProperties.topicAliasMaximum && node.brokerConn.serverProperties.topicAliasMaximum >= msg.topicAlias) {
|
||||
topicOK = true;
|
||||
msg.topic = ""; //must be empty string
|
||||
} else if (msg.hasOwnProperty("responseTopic") && (typeof msg.responseTopic === "string") && (msg.responseTopic !== "")) {
|
||||
//TODO: if topic is empty but responseTopic has a string value, use that instead. Is this desirable?
|
||||
topicOK = true;
|
||||
msg.topic = msg.responseTopic;
|
||||
//TODO: delete msg.responseTopic - to prevent it being resent?
|
||||
}
|
||||
}
|
||||
if (topicOK) { // topic must exist
|
||||
|
Loading…
Reference in New Issue
Block a user