From 05b7adff1a2560a9c16d1ba94d0445e04db4bd80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 25 Mar 2014 12:40:46 +0100 Subject: Send the status as a number rather than a binary string in SPDY --- src/gun_spdy.erl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/gun_spdy.erl b/src/gun_spdy.erl index 15e6004..0947c0f 100644 --- a/src/gun_spdy.erl +++ b/src/gun_spdy.erl @@ -117,10 +117,12 @@ handle_frame(Rest, State=#spdy_state{owner=Owner, cow_spdy:rst_stream(StreamID, stream_already_closed)), handle_loop(Rest, delete_stream(StreamID, State)); S = #stream{ref=StreamRef} when IsFin -> - Owner ! {gun_response, self(), StreamRef, fin, Status, Headers}, + Owner ! {gun_response, self(), StreamRef, fin, + parse_status(Status), Headers}, handle_loop(Rest, in_fin_stream(S, State)); #stream{ref=StreamRef} -> - Owner ! {gun_response, self(), StreamRef, nofin, Status, Headers}, + Owner ! {gun_response, self(), StreamRef, nofin, + parse_status(Status), Headers}, handle_loop(Rest, State); false -> Transport:send(Socket, @@ -168,6 +170,10 @@ handle_frame(_, #spdy_state{owner=Owner, socket=Socket, transport=Transport}, Transport:send(Socket, cow_spdy:goaway(0, protocol_error)), close. +parse_status(Status) -> + << Code:3/binary, _/bits >> = Status, + list_to_integer(binary_to_list(Code)). + close(#spdy_state{owner=Owner, streams=Streams}) -> close_streams(Owner, Streams). -- cgit v1.2.3