-module(glitch@extended@request_ext). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([set_headers/2, merge_headers/3, set_header/2, set_query_string/2]). -spec set_headers(gleam@http@request:request(RGH), list({binary(), binary()})) -> gleam@http@request:request(RGH). set_headers(Request, Headers) -> New_headers = gleam@list:fold( Headers, erlang:element(3, Request), fun(Acc, Header) -> gleam@list:key_set( Acc, gleam@string:lowercase(erlang:element(1, Header)), erlang:element(2, Header) ) end ), erlang:setelement(3, Request, New_headers). -spec merge_headers( gleam@http@request:request(RGC), list({binary(), binary()}), list({binary(), binary()}) ) -> gleam@http@request:request(RGC). merge_headers(Request, Base, Overrides) -> _pipe = Request, _pipe@1 = set_headers(_pipe, Base), set_headers(_pipe@1, Overrides). -spec set_header(gleam@http@request:request(RGL), {binary(), binary()}) -> gleam@http@request:request(RGL). set_header(Request, Header) -> Key = gleam@string:lowercase(erlang:element(1, Header)), Value = erlang:element(2, Header), gleam@http@request:set_header(Request, Key, Value). -spec set_query_string( gleam@http@request:request(RGO), gleam@option:option(binary()) ) -> gleam@http@request:request(RGO). set_query_string(Request, Query) -> erlang:setelement(9, Request, Query).