From 18e2d684b3f810c7386a921d837e6dbca47e4b15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 31 May 2017 12:48:22 +0200 Subject: Apply the received SETTINGS frame --- src/cowboy_http2.erl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/cowboy_http2.erl b/src/cowboy_http2.erl index 0661296..daaffed 100644 --- a/src/cowboy_http2.erl +++ b/src/cowboy_http2.erl @@ -359,10 +359,10 @@ frame(State=#state{client_streamid=LastStreamID}, {rst_stream, StreamID, _}) frame(State, {rst_stream, StreamID, Reason}) -> stream_terminate(State, StreamID, {stream_error, Reason, 'Stream reset requested by client.'}); %% SETTINGS frame. -frame(State=#state{socket=Socket, transport=Transport}, {settings, _Settings}) -> - %% @todo Apply SETTINGS. +frame(State=#state{socket=Socket, transport=Transport, remote_settings=Settings0}, + {settings, Settings}) -> Transport:send(Socket, cow_http2:settings_ack()), - State; + State#state{remote_settings=maps:merge(Settings0, Settings)}; %% Ack for a previously sent SETTINGS frame. frame(State=#state{next_settings=_NextSettings}, settings_ack) -> %% @todo Apply SETTINGS that require synchronization. -- cgit v1.2.3