diff options
author | Loïc Hoguin <[email protected]> | 2025-02-07 17:00:08 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2025-02-07 17:59:44 +0100 |
commit | dad67e19a1b07a7891aee7f87462e55ec08c5929 (patch) | |
tree | 5d24249a71da4f3699c3a31abea382df169b57c2 | |
parent | 0f257d06b6a4b1170621af66e9b54addf4d8e954 (diff) | |
download | cowboy-dad67e19a1b07a7891aee7f87462e55ec08c5929.tar.gz cowboy-dad67e19a1b07a7891aee7f87462e55ec08c5929.tar.bz2 cowboy-dad67e19a1b07a7891aee7f87462e55ec08c5929.zip |
Use maps:fold for cowboy_http's set_options for code clarity
-rw-r--r-- | src/cowboy_http.erl | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/src/cowboy_http.erl b/src/cowboy_http.erl index f940e47..476c694 100644 --- a/src/cowboy_http.erl +++ b/src/cowboy_http.erl @@ -1268,21 +1268,16 @@ commands(State0=#state{ref=Ref, parent=Parent, socket=Socket, transport=Transpor Protocol:takeover(Parent, Ref, Socket, Transport, opts_for_upgrade(State), Buffer, InitialState); %% Set options dynamically. -commands(State0=#state{overriden_opts=Opts}, - StreamID, [{set_options, SetOpts}|Tail]) -> - State1 = case SetOpts of - #{idle_timeout := IdleTimeout} -> - set_timeout(State0#state{overriden_opts=Opts#{idle_timeout => IdleTimeout}}, +commands(State0, StreamID, [{set_options, SetOpts}|Tail]) -> + State = maps:fold(fun + (chunked, Chunked, StateF=#state{overriden_opts=Opts}) -> + StateF#state{overriden_opts=Opts#{chunked => Chunked}}; + (idle_timeout, IdleTimeout, StateF=#state{overriden_opts=Opts}) -> + set_timeout(StateF#state{overriden_opts=Opts#{idle_timeout => IdleTimeout}}, idle_timeout); - _ -> - State0 - end, - State = case SetOpts of - #{chunked := Chunked} -> - State1#state{overriden_opts=Opts#{chunked => Chunked}}; - _ -> - State1 - end, + (_, _, StateF) -> + StateF + end, State0, SetOpts), commands(State, StreamID, Tail); %% Stream shutdown. commands(State, StreamID, [stop|Tail]) -> |