fix(stomp): unmount topic prefix in delivering proccess
This commit is contained in:
parent
e3d208f678
commit
4212d90672
|
@ -994,7 +994,7 @@ handle_deliver(
|
||||||
Delivers,
|
Delivers,
|
||||||
Channel = #channel{
|
Channel = #channel{
|
||||||
ctx = Ctx,
|
ctx = Ctx,
|
||||||
clientinfo = ClientInfo,
|
clientinfo = ClientInfo = #{mountpoint := Mountpoint},
|
||||||
subscriptions = Subs
|
subscriptions = Subs
|
||||||
}
|
}
|
||||||
) ->
|
) ->
|
||||||
|
@ -1005,22 +1005,21 @@ handle_deliver(
|
||||||
fun({_, _, Message}, Acc) ->
|
fun({_, _, Message}, Acc) ->
|
||||||
Topic0 = emqx_message:topic(Message),
|
Topic0 = emqx_message:topic(Message),
|
||||||
case lists:keyfind(Topic0, 2, Subs) of
|
case lists:keyfind(Topic0, 2, Subs) of
|
||||||
{Id, Topic, Ack, _SubOpts} ->
|
{Id, _Topic, Ack, _SubOpts} ->
|
||||||
%% XXX: refactor later
|
Message1 = emqx_mountpoint:unmount(Mountpoint, Message),
|
||||||
metrics_inc('messages.delivered', Channel),
|
metrics_inc('messages.delivered', Channel),
|
||||||
NMessage = run_hooks_without_metrics(
|
NMessage = run_hooks_without_metrics(
|
||||||
Ctx,
|
Ctx,
|
||||||
'message.delivered',
|
'message.delivered',
|
||||||
[ClientInfo],
|
[ClientInfo],
|
||||||
Message
|
Message1
|
||||||
),
|
),
|
||||||
Topic = emqx_message:topic(NMessage),
|
|
||||||
Headers = emqx_message:get_headers(NMessage),
|
Headers = emqx_message:get_headers(NMessage),
|
||||||
Payload = emqx_message:payload(NMessage),
|
Payload = emqx_message:payload(NMessage),
|
||||||
Headers0 = [
|
Headers0 = [
|
||||||
{<<"subscription">>, Id},
|
{<<"subscription">>, Id},
|
||||||
{<<"message-id">>, next_msgid()},
|
{<<"message-id">>, next_msgid()},
|
||||||
{<<"destination">>, Topic},
|
{<<"destination">>, emqx_message:topic(NMessage)},
|
||||||
{<<"content-type">>, <<"text/plain">>}
|
{<<"content-type">>, <<"text/plain">>}
|
||||||
],
|
],
|
||||||
Headers1 =
|
Headers1 =
|
||||||
|
|
Loading…
Reference in New Issue