mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
No longer use erlang:get_stacktrace/0
It has been deprecated in OTP and the new way is available on all supported OTP versions.
This commit is contained in:
parent
3b85b808ae
commit
3a7232b019
12 changed files with 79 additions and 137 deletions
|
@ -14,10 +14,6 @@
|
|||
|
||||
-module(cowboy_http).
|
||||
|
||||
-ifdef(OTP_RELEASE).
|
||||
-compile({nowarn_deprecated_function, [{erlang, get_stacktrace, 0}]}).
|
||||
-endif.
|
||||
|
||||
-export([init/6]).
|
||||
|
||||
-export([system_continue/3]).
|
||||
|
@ -335,10 +331,10 @@ after_parse({request, Req=#{streamid := StreamID, method := Method,
|
|||
end,
|
||||
State = set_timeout(State1, idle_timeout),
|
||||
parse(Buffer, commands(State, StreamID, Commands))
|
||||
catch Class:Exception ->
|
||||
catch Class:Exception:Stacktrace ->
|
||||
cowboy:log(cowboy_stream:make_error_log(init,
|
||||
[StreamID, Req, Opts],
|
||||
Class, Exception, erlang:get_stacktrace()), Opts),
|
||||
Class, Exception, Stacktrace), Opts),
|
||||
early_error(500, State0, {internal_error, {Class, Exception},
|
||||
'Unhandled exception in cowboy_stream:init/3.'}, Req),
|
||||
parse(Buffer, State0)
|
||||
|
@ -357,10 +353,10 @@ after_parse({data, StreamID, IsFin, Data, State0=#state{opts=Opts, buffer=Buffer
|
|||
end),
|
||||
State = update_flow(IsFin, Data, State1#state{streams=Streams}),
|
||||
parse(Buffer, commands(State, StreamID, Commands))
|
||||
catch Class:Exception ->
|
||||
catch Class:Exception:Stacktrace ->
|
||||
cowboy:log(cowboy_stream:make_error_log(data,
|
||||
[StreamID, IsFin, Data, StreamState0],
|
||||
Class, Exception, erlang:get_stacktrace()), Opts),
|
||||
Class, Exception, Stacktrace), Opts),
|
||||
%% @todo Should call parse after this.
|
||||
stream_terminate(State0, StreamID, {internal_error, {Class, Exception},
|
||||
'Unhandled exception in cowboy_stream:data/4.'})
|
||||
|
@ -904,10 +900,10 @@ info(State=#state{opts=Opts, streams=Streams0}, StreamID, Msg) ->
|
|||
Streams = lists:keyreplace(StreamID, #stream.id, Streams0,
|
||||
Stream#stream{state=StreamState}),
|
||||
commands(State#state{streams=Streams}, StreamID, Commands)
|
||||
catch Class:Exception ->
|
||||
catch Class:Exception:Stacktrace ->
|
||||
cowboy:log(cowboy_stream:make_error_log(info,
|
||||
[StreamID, Msg, StreamState0],
|
||||
Class, Exception, erlang:get_stacktrace()), Opts),
|
||||
Class, Exception, Stacktrace), Opts),
|
||||
stream_terminate(State, StreamID, {internal_error, {Class, Exception},
|
||||
'Unhandled exception in cowboy_stream:info/3.'})
|
||||
end;
|
||||
|
@ -1286,10 +1282,10 @@ stream_terminate(State0=#state{opts=Opts, in_streamid=InStreamID, in_state=InSta
|
|||
stream_call_terminate(StreamID, Reason, StreamState, #state{opts=Opts}) ->
|
||||
try
|
||||
cowboy_stream:terminate(StreamID, Reason, StreamState)
|
||||
catch Class:Exception ->
|
||||
catch Class:Exception:Stacktrace ->
|
||||
cowboy:log(cowboy_stream:make_error_log(terminate,
|
||||
[StreamID, Reason, StreamState],
|
||||
Class, Exception, erlang:get_stacktrace()), Opts)
|
||||
Class, Exception, Stacktrace), Opts)
|
||||
end.
|
||||
|
||||
maybe_req_close(#state{opts=#{http10_keepalive := false}}, _, 'HTTP/1.0') ->
|
||||
|
@ -1386,10 +1382,10 @@ early_error(StatusCode0, #state{socket=Socket, transport=Transport,
|
|||
%% @todo Technically we allow the sendfile tuple.
|
||||
RespBody
|
||||
])
|
||||
catch Class:Exception ->
|
||||
catch Class:Exception:Stacktrace ->
|
||||
cowboy:log(cowboy_stream:make_error_log(early_error,
|
||||
[StreamID, Reason, PartialReq, Resp, Opts],
|
||||
Class, Exception, erlang:get_stacktrace()), Opts),
|
||||
Class, Exception, Stacktrace), Opts),
|
||||
%% We still need to send an error response, so send what we initially
|
||||
%% wanted to send. It's better than nothing.
|
||||
Transport:send(Socket, cow_http:response(StatusCode0,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue