From d45c76eead0143014117e6bdf8c4947a3c6a1c08 Mon Sep 17 00:00:00 2001 From: geeksilva97 Date: Tue, 26 Mar 2024 00:15:56 -0300 Subject: [PATCH] add clause for processing given headers --- .tool-versions | 1 + src/cowboy_req.erl | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 .tool-versions diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 000000000..09d38677d --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +erlang 26.2.2 diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl index 17bec5e62..7132761ba 100644 --- a/src/cowboy_req.erl +++ b/src/cowboy_req.erl @@ -726,9 +726,14 @@ set_resp_header(Name, Value, Req=#{resp_headers := RespHeaders}) -> set_resp_header(Name,Value, Req) -> Req#{resp_headers => #{Name => Value}}. +% @todo process headers list - reduce to a map and concat the values of repeated headers, except for set-cookie that will be treated differently +% @todo define the correct spec -spec set_resp_headers_list(list(term()), req()) -set_resp_headers_list(List, Req) -> - ok. +set_resp_headers_list([], Req) -> + Req. +set_resp_headers_list([{Name, Value} | Headers], Req) -> + Req1 = set_resp_header(Name, Value, Req), + set_resp_headers_list(Headers, Req1). -spec set_resp_headers(cowboy:http_headers(), Req) -> Req when Req::req().