mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-15 04:30:25 +00:00
Use cowboy_req:version/1 in cowboy_protocol where applicable
More cleanup towards making cowboy_req:req() opaque.
This commit is contained in:
parent
82d7e89ea2
commit
c1f5a2acb2
1 changed files with 11 additions and 10 deletions
|
@ -220,16 +220,17 @@ header({http_header, _I, Field, _R, Value}, Req, State) ->
|
||||||
Field2 = format_header(Field),
|
Field2 = format_header(Field),
|
||||||
parse_header(Req#http_req{headers=[{Field2, Value}|Req#http_req.headers]},
|
parse_header(Req#http_req{headers=[{Field2, Value}|Req#http_req.headers]},
|
||||||
State);
|
State);
|
||||||
%% The Host header is required in HTTP/1.1.
|
%% The Host header is required in HTTP/1.1 and optional in HTTP/1.0.
|
||||||
header(http_eoh, #http_req{version={1, 1}},
|
header(http_eoh, Req, State=#state{host_tokens=undefined,
|
||||||
State=#state{host_tokens=undefined}) ->
|
buffer=Buffer, transport=Transport}) ->
|
||||||
error_terminate(400, State);
|
case cowboy_req:version(Req) of
|
||||||
%% It is however optional in HTTP/1.0.
|
{{1, 1}, _} ->
|
||||||
header(http_eoh, Req=#http_req{version={1, 0}, transport=Transport},
|
error_terminate(400, State);
|
||||||
State=#state{buffer=Buffer, host_tokens=undefined}) ->
|
{{1, 0}, Req2} ->
|
||||||
Port = default_port(Transport:name()),
|
Port = default_port(Transport:name()),
|
||||||
onrequest(Req#http_req{host= <<>>, port=Port, buffer=Buffer},
|
onrequest(Req2#http_req{host= <<>>, port=Port, buffer=Buffer},
|
||||||
State#state{buffer= <<>>, host_tokens=[]});
|
State#state{buffer= <<>>, host_tokens=[]})
|
||||||
|
end;
|
||||||
header(http_eoh, Req, State=#state{buffer=Buffer}) ->
|
header(http_eoh, Req, State=#state{buffer=Buffer}) ->
|
||||||
onrequest(Req#http_req{buffer=Buffer}, State#state{buffer= <<>>});
|
onrequest(Req#http_req{buffer=Buffer}, State#state{buffer= <<>>});
|
||||||
header(_Any, _Req, State) ->
|
header(_Any, _Req, State) ->
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue