mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 20:30:23 +00:00
handle iodata
This commit is contained in:
parent
d43807d19b
commit
ded96a1df4
1 changed files with 12 additions and 6 deletions
|
@ -377,13 +377,17 @@ resp_headers_test() ->
|
||||||
{<<"Name">>, <<"Cormano">>},
|
{<<"Name">>, <<"Cormano">>},
|
||||||
{<<"Name">>, <<"Paco">>},
|
{<<"Name">>, <<"Paco">>},
|
||||||
{<<"X-MyHeader">>, <<"custom-header">>},
|
{<<"X-MyHeader">>, <<"custom-header">>},
|
||||||
{<<"api-key">>, "My api"},
|
{<<"game-name">>, "Sunset"},
|
||||||
{<<"api-key">>, "KEY"}
|
{<<"game-name">>, "Riders"},
|
||||||
|
{<<"header">>, ["io", "data"]},
|
||||||
|
{<<"header">>, ["header"]}
|
||||||
], #{}, Req),
|
], #{}, Req),
|
||||||
|
|
||||||
#{
|
#{
|
||||||
<<"Name">> := <<"Cormano, Paco">>,
|
<<"Name">> := <<"Cormano, Paco">>,
|
||||||
<<"X-MyHeader">> := <<"custom-header">>
|
<<"X-MyHeader">> := <<"custom-header">>,
|
||||||
|
<<"game-name">> := <<"Sunset, Riders">>,
|
||||||
|
<<"header">> := <<"iodata, header">>
|
||||||
} = RespHeaders,
|
} = RespHeaders,
|
||||||
|
|
||||||
ok.
|
ok.
|
||||||
|
@ -757,12 +761,14 @@ set_resp_headers_list(HeaderTupleList, Req) ->
|
||||||
set_resp_headers_list([], Map, Req) ->
|
set_resp_headers_list([], Map, Req) ->
|
||||||
set_resp_headers(Map, Req);
|
set_resp_headers(Map, Req);
|
||||||
|
|
||||||
set_resp_headers_list([{<<"set-cookie">>, Value} | Headers], Map, Req) ->
|
set_resp_headers_list([{<<"set-cookie">>, _} | Headers], Map, Req) ->
|
||||||
set_resp_headers_list(Headers, Map, Req);
|
set_resp_headers_list(Headers, Map, Req);
|
||||||
set_resp_headers_list([{Name, Value} | Headers], Map, Req) ->
|
set_resp_headers_list([{Name, Value} | Headers], Map, Req) ->
|
||||||
|
BinaryValue = iolist_to_binary(Value),
|
||||||
NewHeaderValue = case maps:get(Name, Map, undefined) of
|
NewHeaderValue = case maps:get(Name, Map, undefined) of
|
||||||
undefined -> Value;
|
undefined -> BinaryValue;
|
||||||
ExistingValue -> <<ExistingValue/binary, ", ", Value/binary>>
|
ExistingValue ->
|
||||||
|
<<ExistingValue/binary, ", ", BinaryValue/binary>>
|
||||||
end,
|
end,
|
||||||
|
|
||||||
Map1 = maps:put(Name, NewHeaderValue, Map),
|
Map1 = maps:put(Name, NewHeaderValue, Map),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue