aboutsummaryrefslogtreecommitdiffstats
path: root/src/cowboy_compress_h.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2017-03-27 10:26:13 +0200
committerLoïc Hoguin <[email protected]>2017-03-27 10:26:13 +0200
commit10dfd8c910bce3ae71146f8f13eef25b34ec093a (patch)
treee491e7602e69c5eb82dc7ea5b25c269f0c4cd4d2 /src/cowboy_compress_h.erl
parent14a01f71cb495ef6be5e31122857d1e4438cecfe (diff)
downloadcowboy-10dfd8c910bce3ae71146f8f13eef25b34ec093a.tar.gz
cowboy-10dfd8c910bce3ae71146f8f13eef25b34ec093a.tar.bz2
cowboy-10dfd8c910bce3ae71146f8f13eef25b34ec093a.zip
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.
Diffstat (limited to 'src/cowboy_compress_h.erl')
-rw-r--r--src/cowboy_compress_h.erl7
1 files changed, 7 insertions, 0 deletions
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.