mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-15 04:30:25 +00:00
Add the private get_connection/1 function used by cowboy_protocol
This removes cowboy_protocol's dependency on http.hrl!
This commit is contained in:
parent
cf0e905c52
commit
58edd4c35a
2 changed files with 8 additions and 3 deletions
|
@ -42,7 +42,6 @@
|
||||||
-export([parse_request/1]).
|
-export([parse_request/1]).
|
||||||
-export([handler_loop/3]).
|
-export([handler_loop/3]).
|
||||||
|
|
||||||
-include("http.hrl").
|
|
||||||
-include_lib("eunit/include/eunit.hrl").
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
|
|
||||||
-record(state, {
|
-record(state, {
|
||||||
|
@ -390,7 +389,7 @@ terminate_request(HandlerState, Req, State) ->
|
||||||
next_request(Req, State, HandlerRes).
|
next_request(Req, State, HandlerRes).
|
||||||
|
|
||||||
-spec next_request(cowboy_req:req(), #state{}, any()) -> ok.
|
-spec next_request(cowboy_req:req(), #state{}, any()) -> ok.
|
||||||
next_request(Req=#http_req{connection=Conn}, State=#state{
|
next_request(Req, State=#state{
|
||||||
req_keepalive=Keepalive}, HandlerRes) ->
|
req_keepalive=Keepalive}, HandlerRes) ->
|
||||||
cowboy_req:ensure_response(Req, 204),
|
cowboy_req:ensure_response(Req, 204),
|
||||||
{BodyRes, Buffer} = case cowboy_req:skip_body(Req) of
|
{BodyRes, Buffer} = case cowboy_req:skip_body(Req) of
|
||||||
|
@ -399,7 +398,7 @@ next_request(Req=#http_req{connection=Conn}, State=#state{
|
||||||
end,
|
end,
|
||||||
%% Flush the resp_sent message before moving on.
|
%% Flush the resp_sent message before moving on.
|
||||||
receive {cowboy_req, resp_sent} -> ok after 0 -> ok end,
|
receive {cowboy_req, resp_sent} -> ok after 0 -> ok end,
|
||||||
case {HandlerRes, BodyRes, Conn} of
|
case {HandlerRes, BodyRes, cowboy_req:get_connection(Req)} of
|
||||||
{ok, ok, keepalive} ->
|
{ok, ok, keepalive} ->
|
||||||
?MODULE:parse_request(State#state{
|
?MODULE:parse_request(State#state{
|
||||||
buffer=Buffer, host_tokens=undefined, path_tokens=undefined,
|
buffer=Buffer, host_tokens=undefined, path_tokens=undefined,
|
||||||
|
|
|
@ -110,6 +110,7 @@
|
||||||
-export([set_bindings/4]).
|
-export([set_bindings/4]).
|
||||||
-export([get_resp_state/1]).
|
-export([get_resp_state/1]).
|
||||||
-export([get_buffer/1]).
|
-export([get_buffer/1]).
|
||||||
|
-export([get_connection/1]).
|
||||||
|
|
||||||
%% Misc API.
|
%% Misc API.
|
||||||
-export([compact/1]).
|
-export([compact/1]).
|
||||||
|
@ -961,6 +962,11 @@ get_resp_state(#http_req{resp_state=RespState}) ->
|
||||||
get_buffer(#http_req{buffer=Buffer}) ->
|
get_buffer(#http_req{buffer=Buffer}) ->
|
||||||
Buffer.
|
Buffer.
|
||||||
|
|
||||||
|
%% @private
|
||||||
|
-spec get_connection(req()) -> keepalive | close.
|
||||||
|
get_connection(#http_req{connection=Connection}) ->
|
||||||
|
Connection.
|
||||||
|
|
||||||
%% Misc API.
|
%% Misc API.
|
||||||
|
|
||||||
%% @doc Compact the request data by removing all non-system information.
|
%% @doc Compact the request data by removing all non-system information.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue