From 10dfd8c910bce3ae71146f8f13eef25b34ec093a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 27 Mar 2017 10:26:13 +0200 Subject: Add the early_error cowboy_stream callback This callback is called when an error occurs before the request (including headers, excluding body) was fully received. The init/3 callback will not be called. The callback receives the partial Req object (possibly empty), the reason for the error and the response command that the server will send. It allows you to be aware of the error and possibly modify the response before it is sent. --- src/cowboy_compress_h.erl | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/cowboy_compress_h.erl') diff --git a/src/cowboy_compress_h.erl b/src/cowboy_compress_h.erl index 229e75f..9c2ae34 100644 --- a/src/cowboy_compress_h.erl +++ b/src/cowboy_compress_h.erl @@ -19,6 +19,7 @@ -export([data/4]). -export([info/3]). -export([terminate/3]). +-export([early_error/5]). -record(state, { next :: any(), @@ -55,6 +56,12 @@ terminate(StreamID, Reason, #state{next=Next, deflate=Z}) -> end, cowboy_stream:terminate(StreamID, Reason, Next). +-spec early_error(cowboy_stream:streamid(), cowboy_stream:reason(), + cowboy_stream:partial_req(), Resp, cowboy:opts()) -> Resp + when Resp::cowboy_stream:resp_command(). +early_error(StreamID, Reason, PartialReq, Resp, Opts) -> + cowboy_stream:early_error(StreamID, Reason, PartialReq, Resp, Opts). + %% Internal. %% Check if the client supports decoding of gzip responses. -- cgit v1.2.3