From aad2d7378e138b1c3385e26e69dfdb3bf0d9d8b2 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Thu, 4 Apr 2019 13:41:03 +0800 Subject: [PATCH] Put peername into messsage headers (#2390) * Put peername into the message.heaers --- src/emqx_packet.erl | 5 +++-- test/emqx_packet_SUITE.erl | 9 +++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/emqx_packet.erl b/src/emqx_packet.erl index 3e5b0ec0c..ba28bddac 100644 --- a/src/emqx_packet.erl +++ b/src/emqx_packet.erl @@ -140,7 +140,7 @@ publish_props(Headers) -> %% @doc Message from Packet -spec(to_message(emqx_types:credentials(), emqx_mqtt_types:packet()) -> emqx_types:message()). -to_message(#{client_id := ClientId, username := Username}, +to_message(#{client_id := ClientId, username := Username, peername := Peername}, #mqtt_packet{header = #mqtt_packet_header{type = ?PUBLISH, retain = Retain, qos = QoS, @@ -150,7 +150,8 @@ to_message(#{client_id := ClientId, username := Username}, payload = Payload}) -> Msg = emqx_message:make(ClientId, QoS, Topic, Payload), Msg#message{flags = #{dup => Dup, retain => Retain}, - headers = merge_props(#{username => Username}, Props)}. + headers = merge_props(#{username => Username, + peername => Peername}, Props)}. -spec(will_msg(#mqtt_packet_connect{}) -> emqx_types:message()). will_msg(#mqtt_packet_connect{will_flag = false}) -> diff --git a/test/emqx_packet_SUITE.erl b/test/emqx_packet_SUITE.erl index 4cb87bd18..07fb6c58d 100644 --- a/test/emqx_packet_SUITE.erl +++ b/test/emqx_packet_SUITE.erl @@ -100,8 +100,13 @@ packet_message(_) -> Msg = emqx_message:make(<<"clientid">>, ?QOS_0, <<"topic">>, <<"payload">>), Msg2 = emqx_message:set_flag(retain, false, Msg), Pkt = emqx_packet:from_message(10, Msg2), - Msg3 = emqx_message:set_header(username, "test", Msg2), - Msg4 = emqx_packet:to_message(#{client_id => <<"clientid">>, username => "test"}, Pkt), + Msg3 = emqx_message:set_header( + peername, {{127,0,0,1}, 9527}, + emqx_message:set_header(username, "test", Msg2) + ), + Msg4 = emqx_packet:to_message(#{client_id => <<"clientid">>, + username => "test", + peername => {{127,0,0,1}, 9527}}, Pkt), Msg5 = Msg4#message{timestamp = Msg3#message.timestamp, id = Msg3#message.id}, Msg5 = Msg3.