From 5b56dd780bfeddac96ae8360bd5b352e427e1b3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 17 Sep 2012 00:30:54 +0200 Subject: [PATCH] Add the private set_buffer/2 function used by cowboy_protocol --- src/cowboy_protocol.erl | 6 ++++-- src/cowboy_req.erl | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/cowboy_protocol.erl b/src/cowboy_protocol.erl index 952066759..bcbdf57f3 100644 --- a/src/cowboy_protocol.erl +++ b/src/cowboy_protocol.erl @@ -214,11 +214,13 @@ header(http_eoh, Req, State=#state{host_tokens=undefined, error_terminate(400, State); {{1, 0}, Req2} -> Port = default_port(Transport:name()), - onrequest(Req2#http_req{host= <<>>, port=Port, buffer=Buffer}, + onrequest( + cowboy_req:set_buffer(Buffer, + cowboy_req:set_host(<<>>, Port, <<>>, Req2)), State#state{buffer= <<>>, host_tokens=[]}) end; header(http_eoh, Req, State=#state{buffer=Buffer}) -> - onrequest(Req#http_req{buffer=Buffer}, State#state{buffer= <<>>}); + onrequest(cowboy_req:set_buffer(Buffer, Req), State#state{buffer= <<>>}); header(_Any, _Req, State) -> error_terminate(400, State). diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl index d074efaf1..aad6a97f7 100644 --- a/src/cowboy_req.erl +++ b/src/cowboy_req.erl @@ -106,6 +106,7 @@ -export([set_host/4]). -export([set_connection/2]). -export([add_header/3]). +-export([set_buffer/2]). %% Misc API. -export([compact/1]). @@ -935,6 +936,11 @@ set_connection(RawConnection, Req=#http_req{headers=Headers}) -> add_header(Name, Value, Req=#http_req{headers=Headers}) -> Req#http_req{headers=[{Name, Value}|Headers]}. +%% @private +-spec set_buffer(binary(), Req) -> Req when Req::req(). +set_buffer(Buffer, Req) -> + Req#http_req{buffer=Buffer}. + %% Misc API. %% @doc Compact the request data by removing all non-system information.