Merge pull request #11859 from cisiqo/patch-1
fix content type returned by Stomp
This commit is contained in:
commit
fdbf439df8
|
@ -1052,9 +1052,16 @@ handle_deliver(
|
||||||
_ ->
|
_ ->
|
||||||
Headers0
|
Headers0
|
||||||
end,
|
end,
|
||||||
|
Headers2 = lists:foldl(
|
||||||
|
fun({Key, _Val} = KV, Acc1) ->
|
||||||
|
lists:keystore(Key, 1, Acc1, KV)
|
||||||
|
end,
|
||||||
|
Headers1,
|
||||||
|
maps:get(stomp_headers, Headers, [])
|
||||||
|
),
|
||||||
Frame = #stomp_frame{
|
Frame = #stomp_frame{
|
||||||
command = <<"MESSAGE">>,
|
command = <<"MESSAGE">>,
|
||||||
headers = Headers1 ++ maps:get(stomp_headers, Headers, []),
|
headers = Headers2,
|
||||||
body = Payload
|
body = Payload
|
||||||
},
|
},
|
||||||
[Frame | Acc];
|
[Frame | Acc];
|
||||||
|
@ -1160,12 +1167,12 @@ do_negotiate_version(Accepts) ->
|
||||||
lists:reverse(lists:sort(binary:split(Accepts, <<",">>, [global])))
|
lists:reverse(lists:sort(binary:split(Accepts, <<",">>, [global])))
|
||||||
).
|
).
|
||||||
|
|
||||||
do_negotiate_version(Ver, []) ->
|
|
||||||
{error, <<"Supported protocol versions < ", Ver/binary>>};
|
|
||||||
do_negotiate_version(Ver, [AcceptVer | _]) when Ver >= AcceptVer ->
|
do_negotiate_version(Ver, [AcceptVer | _]) when Ver >= AcceptVer ->
|
||||||
{ok, AcceptVer};
|
{ok, AcceptVer};
|
||||||
do_negotiate_version(Ver, [_ | T]) ->
|
do_negotiate_version(Ver, [_ | T]) ->
|
||||||
do_negotiate_version(Ver, T).
|
do_negotiate_version(Ver, T);
|
||||||
|
do_negotiate_version(Ver, _) ->
|
||||||
|
{error, <<"Supported protocol versions < ", Ver/binary>>}.
|
||||||
|
|
||||||
header(Name, Headers) ->
|
header(Name, Headers) ->
|
||||||
get_value(Name, Headers).
|
get_value(Name, Headers).
|
||||||
|
@ -1227,7 +1234,6 @@ frame2message(
|
||||||
[
|
[
|
||||||
<<"destination">>,
|
<<"destination">>,
|
||||||
<<"content-length">>,
|
<<"content-length">>,
|
||||||
<<"content-type">>,
|
|
||||||
<<"transaction">>,
|
<<"transaction">>,
|
||||||
<<"receipt">>
|
<<"receipt">>
|
||||||
]
|
]
|
||||||
|
|
|
@ -181,11 +181,15 @@ t_subscribe(_) ->
|
||||||
|
|
||||||
%% 'user-defined' header will be retain
|
%% 'user-defined' header will be retain
|
||||||
ok = send_message_frame(Sock, <<"/queue/foo">>, <<"hello">>, [
|
ok = send_message_frame(Sock, <<"/queue/foo">>, <<"hello">>, [
|
||||||
{<<"user-defined">>, <<"emq">>}
|
{<<"user-defined">>, <<"emq">>},
|
||||||
|
{<<"content-type">>, <<"text/html">>}
|
||||||
]),
|
]),
|
||||||
?assertMatch({ok, #stomp_frame{command = <<"RECEIPT">>}}, recv_a_frame(Sock)),
|
?assertMatch({ok, #stomp_frame{command = <<"RECEIPT">>}}, recv_a_frame(Sock)),
|
||||||
|
|
||||||
{ok, Frame} = recv_a_frame(Sock),
|
{ok, Frame} = recv_a_frame(Sock),
|
||||||
|
?assertEqual(
|
||||||
|
<<"text/html">>, proplists:get_value(<<"content-type">>, Frame#stomp_frame.headers)
|
||||||
|
),
|
||||||
|
|
||||||
?assertMatch(
|
?assertMatch(
|
||||||
#stomp_frame{
|
#stomp_frame{
|
||||||
|
@ -977,6 +981,10 @@ t_mountpoint(_) ->
|
||||||
}} = recv_a_frame(Sock),
|
}} = recv_a_frame(Sock),
|
||||||
?assertEqual(<<"t/a">>, proplists:get_value(<<"destination">>, Headers)),
|
?assertEqual(<<"t/a">>, proplists:get_value(<<"destination">>, Headers)),
|
||||||
|
|
||||||
|
?assertEqual(
|
||||||
|
<<"text/plain">>, proplists:get_value(<<"content-type">>, Headers)
|
||||||
|
),
|
||||||
|
|
||||||
ok = send_disconnect_frame(Sock)
|
ok = send_disconnect_frame(Sock)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue