diff options
Diffstat (limited to 'src/cowboy_handler.erl')
-rw-r--r-- | src/cowboy_handler.erl | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/cowboy_handler.erl b/src/cowboy_handler.erl index bf42b77..c0f7ff7 100644 --- a/src/cowboy_handler.erl +++ b/src/cowboy_handler.erl @@ -20,10 +20,6 @@ -module(cowboy_handler). -behaviour(cowboy_middleware). --ifdef(OTP_RELEASE). --compile({nowarn_deprecated_function, [{erlang, get_stacktrace, 0}]}). --endif. - -export([execute/2]). -export([terminate/4]). @@ -46,10 +42,9 @@ execute(Req, Env=#{handler := Handler, handler_opts := HandlerOpts}) -> Mod:upgrade(Req2, Env, Handler, State); {Mod, Req2, State, Opts} -> Mod:upgrade(Req2, Env, Handler, State, Opts) - catch Class:Reason -> - StackTrace = erlang:get_stacktrace(), + catch Class:Reason:Stacktrace -> terminate({crash, Class, Reason}, Req, HandlerOpts, Handler), - erlang:raise(Class, Reason, StackTrace) + erlang:raise(Class, Reason, Stacktrace) end. -spec terminate(any(), Req | undefined, any(), module()) -> ok when Req::cowboy_req:req(). |