diff options
author | Loïc Hoguin <[email protected]> | 2014-03-25 12:40:46 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2014-03-25 12:40:46 +0100 |
commit | 05b7adff1a2560a9c16d1ba94d0445e04db4bd80 (patch) | |
tree | 7a4b6175b398971e15f09610bca67bdca25d7bd2 /src | |
parent | d24a97f99dddc02e288da247137b41bad7e96151 (diff) | |
download | gun-05b7adff1a2560a9c16d1ba94d0445e04db4bd80.tar.gz gun-05b7adff1a2560a9c16d1ba94d0445e04db4bd80.tar.bz2 gun-05b7adff1a2560a9c16d1ba94d0445e04db4bd80.zip |
Send the status as a number rather than a binary string in SPDY
Diffstat (limited to 'src')
-rw-r--r-- | src/gun_spdy.erl | 10 |
1 files changed, 8 insertions, 2 deletions
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). |