Просмотр исходного кода

fix(delayed): default username when get delayed message form `/publish` api.

JimMoen 4 лет назад
Родитель
Сommit
5baf427b75
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      apps/emqx_modules/src/emqx_delayed.erl

+ 2 - 2
apps/emqx_modules/src/emqx_delayed.erl

@@ -135,7 +135,7 @@ format_delayed(Delayed) ->
 format_delayed(#delayed_message{key = {ExpectTimeStamp, Id}, delayed = Delayed,
 format_delayed(#delayed_message{key = {ExpectTimeStamp, Id}, delayed = Delayed,
             msg = #message{topic = Topic,
             msg = #message{topic = Topic,
                            from = From,
                            from = From,
-                           headers = #{username := Username},
+                           headers = Headers,
                            qos = Qos,
                            qos = Qos,
                            timestamp = PublishTimeStamp,
                            timestamp = PublishTimeStamp,
                            payload = Payload}}, WithPayload) ->
                            payload = Payload}}, WithPayload) ->
@@ -151,7 +151,7 @@ format_delayed(#delayed_message{key = {ExpectTimeStamp, Id}, delayed = Delayed,
         topic => Topic,
         topic => Topic,
         qos => Qos,
         qos => Qos,
         from_clientid => From,
         from_clientid => From,
-        from_username => Username
+        from_username => maps:get(username, Headers, undefined)
     },
     },
     case WithPayload of
     case WithPayload of
         true ->
         true ->