fix(emqx_channel): fix some error when properties equal undefined
This commit is contained in:
parent
6ffbc0949d
commit
8bcf15f391
|
@ -1247,9 +1247,13 @@ packing_alias(Packet = #mqtt_packet{
|
||||||
Channel = ?IS_MQTT_V5 = #channel{topic_aliases = TopicAliases, alias_maximum = Limits}) ->
|
Channel = ?IS_MQTT_V5 = #channel{topic_aliases = TopicAliases, alias_maximum = Limits}) ->
|
||||||
case find_alias(outbound, Topic, TopicAliases) of
|
case find_alias(outbound, Topic, TopicAliases) of
|
||||||
{ok, AliasId} ->
|
{ok, AliasId} ->
|
||||||
|
NProp = case Prop of
|
||||||
|
undefined -> #{'Topic-Alias' => AliasId};
|
||||||
|
_ -> maps:merge(Prop, #{'Topic-Alias' => AliasId})
|
||||||
|
end,
|
||||||
NPublish = Publish#mqtt_packet_publish{
|
NPublish = Publish#mqtt_packet_publish{
|
||||||
topic_name = <<>>,
|
topic_name = <<>>,
|
||||||
properties = maps:merge(Prop, #{'Topic-Alias' => AliasId})
|
properties = NProp
|
||||||
},
|
},
|
||||||
{Packet#mqtt_packet{variable = NPublish}, Channel};
|
{Packet#mqtt_packet{variable = NPublish}, Channel};
|
||||||
error ->
|
error ->
|
||||||
|
@ -1260,9 +1264,13 @@ packing_alias(Packet = #mqtt_packet{
|
||||||
true ->
|
true ->
|
||||||
NTopicAliases = save_alias(outbound, AliasId, Topic, TopicAliases),
|
NTopicAliases = save_alias(outbound, AliasId, Topic, TopicAliases),
|
||||||
NChannel = Channel#channel{topic_aliases = NTopicAliases},
|
NChannel = Channel#channel{topic_aliases = NTopicAliases},
|
||||||
|
NProp = case Prop of
|
||||||
|
undefined -> #{'Topic-Alias' => AliasId};
|
||||||
|
_ -> maps:merge(Prop, #{'Topic-Alias' => AliasId})
|
||||||
|
end,
|
||||||
NPublish = Publish#mqtt_packet_publish{
|
NPublish = Publish#mqtt_packet_publish{
|
||||||
topic_name = Topic,
|
topic_name = Topic,
|
||||||
properties = maps:merge(Prop, #{'Topic-Alias' => AliasId})
|
properties = NProp
|
||||||
},
|
},
|
||||||
{Packet#mqtt_packet{variable = NPublish}, NChannel};
|
{Packet#mqtt_packet{variable = NPublish}, NChannel};
|
||||||
false -> {Packet, Channel}
|
false -> {Packet, Channel}
|
||||||
|
|
Loading…
Reference in New Issue