diff options
-rw-r--r-- | src/cowboy_protocol.erl | 4 | ||||
-rw-r--r-- | src/cowboy_req.erl | 2 | ||||
-rw-r--r-- | test/http_SUITE.erl | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/src/cowboy_protocol.erl b/src/cowboy_protocol.erl index bf81e52..c5ea561 100644 --- a/src/cowboy_protocol.erl +++ b/src/cowboy_protocol.erl @@ -34,7 +34,7 @@ %% any dispatching is done. Host info, path info and bindings are thus %% not available at this point.</dd> %% <dt>onresponse</dt><dd>Optional fun that allows replacing a response -%% sent by the application based on its status code or headers.</dd> +%% sent by the application.</dd> %% <dt>timeout</dt><dd>Time in milliseconds before an idle %% connection is closed. Defaults to 5000 milliseconds.</dd> %% </dl> @@ -56,7 +56,7 @@ -type onrequest_fun() :: fun((Req) -> Req). -type onresponse_fun() :: - fun((cowboy_http:status(), cowboy_http:headers(), Req) -> Req). + fun((cowboy_http:status(), cowboy_http:headers(), iodata(), Req) -> Req). -export_type([onrequest_fun/0]). -export_type([onresponse_fun/0]). diff --git a/src/cowboy_req.erl b/src/cowboy_req.erl index 14eb88d..5b8cb7e 100644 --- a/src/cowboy_req.erl +++ b/src/cowboy_req.erl @@ -1108,7 +1108,7 @@ response(Status, Headers, RespHeaders, DefaultHeaders, Body, Req=#http_req{ FullHeaders = response_merge_headers(Headers, RespHeaders, DefaultHeaders), Req2 = case OnResponse of undefined -> Req; - OnResponse -> OnResponse(Status, FullHeaders, + OnResponse -> OnResponse(Status, FullHeaders, Body, %% Don't call 'onresponse' from the hook itself. Req#http_req{resp_headers=[], resp_body= <<>>, onresponse=undefined}) diff --git a/test/http_SUITE.erl b/test/http_SUITE.erl index cb59c07..2459d5e 100644 --- a/test/http_SUITE.erl +++ b/test/http_SUITE.erl @@ -188,7 +188,7 @@ init_per_group(onresponse, Config) -> {ok, _} = cowboy:start_http(onresponse, 100, [{port, Port}], [ {dispatch, init_dispatch(Config)}, {max_keepalive, 50}, - {onresponse, fun onresponse_hook/3}, + {onresponse, fun onresponse_hook/4}, {timeout, 500} ]), {ok, Client} = cowboy_client:init([]), @@ -623,7 +623,7 @@ onresponse_reply(Config) -> {error, closed} = cowboy_client:response_body(Client3). %% Hook for the above onresponse tests. -onresponse_hook(_, Headers, Req) -> +onresponse_hook(_, Headers, _, Req) -> {ok, Req2} = cowboy_req:reply( <<"777 Lucky">>, [{<<"x-hook">>, <<"onresponse">>}|Headers], Req), Req2. |