diff options
author | Loïc Hoguin <[email protected]> | 2013-01-05 20:19:43 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2013-01-05 20:19:43 +0100 |
commit | 58e89e218991a8d04108616620de9bb99dbeb7c0 (patch) | |
tree | 53e952bf5b17a351f8efee9533dd0616f0bde9f6 /src/cowboy_req.erl | |
parent | d8be610d4c68aa126afa952de4f134d68cc80636 (diff) | |
download | cowboy-58e89e218991a8d04108616620de9bb99dbeb7c0.tar.gz cowboy-58e89e218991a8d04108616620de9bb99dbeb7c0.tar.bz2 cowboy-58e89e218991a8d04108616620de9bb99dbeb7c0.zip |
Change the response body streaming fun interface
Before we were required to get the socket and transport ourselves,
now they're passed to the function.
Diffstat (limited to 'src/cowboy_req.erl')
-rw-r--r-- | src/cowboy_req.erl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl index 93993f8..adfb13a 100644 --- a/src/cowboy_req.erl +++ b/src/cowboy_req.erl @@ -123,7 +123,7 @@ -type cookie_opts() :: [cookie_option()]. -export_type([cookie_opts/0]). --type resp_body_fun() :: fun(() -> {sent, non_neg_integer()}). +-type resp_body_fun() :: fun((inet:socket(), module()) -> ok). -record(http_req, { %% Transport. @@ -876,6 +876,7 @@ reply(Status, Headers, Req=#http_req{resp_body=Body}) -> iodata() | {non_neg_integer() | resp_body_fun()}, Req) -> {ok, Req} when Req::req(). reply(Status, Headers, Body, Req=#http_req{ + socket=Socket, transport=Transport, version=Version, connection=Connection, method=Method, resp_state=waiting, resp_headers=RespHeaders}) -> RespConn = response_connection(Headers, Connection), @@ -890,7 +891,8 @@ reply(Status, Headers, Body, Req=#http_req{ {<<"date">>, cowboy_clock:rfc1123()}, {<<"server">>, <<"Cowboy">>} |HTTP11Headers], <<>>, Req), - if RespType =/= hook, Method =/= <<"HEAD">> -> BodyFun(); + if RespType =/= hook, Method =/= <<"HEAD">> -> + BodyFun(Socket, Transport); true -> ok end; _ -> |