0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Use maps:fold for cowboy_http's set_options for code clarity

This commit is contained in:
Loïc Hoguin 2025-02-07 17:00:08 +01:00
parent bf2aa3cbe0
commit 9c622009c0
No known key found for this signature in database
GPG key ID: 8A9DF795F6FED764

View file

@ -1266,21 +1266,14 @@ commands(State0=#state{ref=Ref, parent=Parent, socket=Socket, transport=Transpor
Protocol:takeover(Parent, Ref, Socket, Transport, Protocol:takeover(Parent, Ref, Socket, Transport,
opts_for_upgrade(State), Buffer, InitialState); opts_for_upgrade(State), Buffer, InitialState);
%% Set options dynamically. %% Set options dynamically.
commands(State0=#state{overriden_opts=Opts}, commands(State0, StreamID, [{set_options, SetOpts}|Tail]) ->
StreamID, [{set_options, SetOpts}|Tail]) -> State = maps:fold(fun
State1 = case SetOpts of (chunked, Chunked, StateF=#state{overriden_opts=Opts}) ->
#{idle_timeout := IdleTimeout} -> StateF#state{overriden_opts=Opts#{chunked => Chunked}};
set_timeout(State0#state{overriden_opts=Opts#{idle_timeout => IdleTimeout}}, (idle_timeout, IdleTimeout, StateF=#state{overriden_opts=Opts}) ->
idle_timeout); set_timeout(StateF#state{overriden_opts=Opts#{idle_timeout => IdleTimeout}},
_ -> idle_timeout)
State0 end, State0, SetOpts),
end,
State = case SetOpts of
#{chunked := Chunked} ->
State1#state{overriden_opts=Opts#{chunked => Chunked}};
_ ->
State1
end,
commands(State, StreamID, Tail); commands(State, StreamID, Tail);
%% Stream shutdown. %% Stream shutdown.
commands(State, StreamID, [stop|Tail]) -> commands(State, StreamID, [stop|Tail]) ->