diff options
Diffstat (limited to 'src/cowboy_http2.erl')
-rw-r--r-- | src/cowboy_http2.erl | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/cowboy_http2.erl b/src/cowboy_http2.erl index 5c71628..ec19f4e 100644 --- a/src/cowboy_http2.erl +++ b/src/cowboy_http2.erl @@ -113,7 +113,7 @@ init(Parent, Ref, Socket, Transport, Opts, Handler, Peer, Buffer) -> %% @todo Add an argument for the request body. -spec init(pid(), ranch:ref(), inet:socket(), module(), cowboy:opts(), module(), - {inet:ip_address(), inet:port_number()}, binary(), binary() | undefined, cowboy_req:req()) -> ok. + {inet:ip_address(), inet:port_number()}, binary(), map() | undefined, cowboy_req:req()) -> ok. init(Parent, Ref, Socket, Transport, Opts, Handler, Peer, Buffer, _Settings, Req) -> State0 = #state{parent=Parent, ref=Ref, socket=Socket, transport=Transport, opts=Opts, handler=Handler, peer=Peer, @@ -235,7 +235,7 @@ parse(State=#state{parse_state=ParseState}, Data) -> end. parse_settings_preface(State, Frame={settings, _}, Rest, TRef) -> - erlang:cancel_timer(TRef, [{async, true}, {info, false}]), + _ = erlang:cancel_timer(TRef, [{async, true}, {info, false}]), parse(frame(State#state{parse_state=normal}, Frame), Rest); parse_settings_preface(State, _, _, _) -> terminate(State, {connection_error, protocol_error, @@ -330,11 +330,11 @@ frame(State, {continuation, _, _, _}) -> 'CONTINUATION frames MUST be preceded by a HEADERS frame. (RFC7540 6.10)'}). continuation_frame(State=#state{parse_state={continuation, StreamID, IsFin, HeaderBlockFragment0}}, - {continuation, StreamID, fin, HeaderBlockFragment1}) -> + {continuation, StreamID, head_fin, HeaderBlockFragment1}) -> stream_init(State#state{parse_state=normal}, StreamID, IsFin, << HeaderBlockFragment0/binary, HeaderBlockFragment1/binary >>); continuation_frame(State=#state{parse_state={continuation, StreamID, IsFin, HeaderBlockFragment0}}, - {continuation, StreamID, nofin, HeaderBlockFragment1}) -> + {continuation, StreamID, head_nofin, HeaderBlockFragment1}) -> State#state{parse_state={continuation, StreamID, IsFin, << HeaderBlockFragment0/binary, HeaderBlockFragment1/binary >>}}; continuation_frame(State, _) -> @@ -517,6 +517,7 @@ send_data(Socket, Transport, StreamID, IsFin, Data, Length) -> Transport:send(Socket, cow_http2:data(StreamID, IsFin, Data)) end. +-spec terminate(#state{}, _) -> no_return(). terminate(#state{socket=Socket, transport=Transport, handler=Handler, streams=Streams, children=Children}, Reason) -> %% @todo Send GOAWAY frame; need to keep track of last good stream id; how? @@ -686,7 +687,7 @@ headers_encode(Headers0, EncodeState) -> %% System callbacks. --spec system_continue(_, _, #state{}) -> ok. +-spec system_continue(_, _, {#state{}, binary()}) -> ok. system_continue(_, _, {State, Buffer}) -> loop(State, Buffer). |