0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-15 04:30:25 +00:00

Merge branch 'log-proplist-req'

This commit is contained in:
Loïc Hoguin 2012-04-01 17:58:04 +02:00
commit ba75e8b8ae
3 changed files with 16 additions and 8 deletions

View file

@ -261,12 +261,13 @@ handler_init(Req, State=#state{transport=Transport,
upgrade_protocol(Req, State, Module) upgrade_protocol(Req, State, Module)
catch Class:Reason -> catch Class:Reason ->
error_terminate(500, State), error_terminate(500, State),
PLReq = lists:zip(record_info(fields, http_req), tl(tuple_to_list(Req))),
error_logger:error_msg( error_logger:error_msg(
"** Handler ~p terminating in init/3~n" "** Handler ~p terminating in init/3~n"
" for the reason ~p:~p~n" " for the reason ~p:~p~n"
"** Options were ~p~n" "** Options were ~p~n"
"** Request was ~p~n** Stacktrace: ~p~n~n", "** Request was ~p~n** Stacktrace: ~p~n~n",
[Handler, Class, Reason, Opts, Req, erlang:get_stacktrace()]) [Handler, Class, Reason, Opts, PLReq, erlang:get_stacktrace()])
end. end.
-spec upgrade_protocol(#http_req{}, #state{}, atom()) -> ok. -spec upgrade_protocol(#http_req{}, #state{}, atom()) -> ok.
@ -283,13 +284,14 @@ handler_handle(HandlerState, Req, State=#state{handler={Handler, Opts}}) ->
{ok, Req2, HandlerState2} -> {ok, Req2, HandlerState2} ->
terminate_request(HandlerState2, Req2, State) terminate_request(HandlerState2, Req2, State)
catch Class:Reason -> catch Class:Reason ->
PLReq = lists:zip(record_info(fields, http_req), tl(tuple_to_list(Req))),
error_logger:error_msg( error_logger:error_msg(
"** Handler ~p terminating in handle/2~n" "** Handler ~p terminating in handle/2~n"
" for the reason ~p:~p~n" " for the reason ~p:~p~n"
"** Options were ~p~n** Handler state was ~p~n" "** Options were ~p~n** Handler state was ~p~n"
"** Request was ~p~n** Stacktrace: ~p~n~n", "** Request was ~p~n** Stacktrace: ~p~n~n",
[Handler, Class, Reason, Opts, [Handler, Class, Reason, Opts,
HandlerState, Req, erlang:get_stacktrace()]), HandlerState, PLReq, erlang:get_stacktrace()]),
handler_terminate(HandlerState, Req, State), handler_terminate(HandlerState, Req, State),
error_terminate(500, State) error_terminate(500, State)
end. end.
@ -341,13 +343,14 @@ handler_call(HandlerState, Req, State=#state{handler={Handler, Opts}},
handler_before_loop(HandlerState2, Req2, handler_before_loop(HandlerState2, Req2,
State#state{hibernate=true}) State#state{hibernate=true})
catch Class:Reason -> catch Class:Reason ->
PLReq = lists:zip(record_info(fields, http_req), tl(tuple_to_list(Req))),
error_logger:error_msg( error_logger:error_msg(
"** Handler ~p terminating in info/3~n" "** Handler ~p terminating in info/3~n"
" for the reason ~p:~p~n" " for the reason ~p:~p~n"
"** Options were ~p~n** Handler state was ~p~n" "** Options were ~p~n** Handler state was ~p~n"
"** Request was ~p~n** Stacktrace: ~p~n~n", "** Request was ~p~n** Stacktrace: ~p~n~n",
[Handler, Class, Reason, Opts, [Handler, Class, Reason, Opts,
HandlerState, Req, erlang:get_stacktrace()]), HandlerState, PLReq, erlang:get_stacktrace()]),
handler_terminate(HandlerState, Req, State), handler_terminate(HandlerState, Req, State),
error_terminate(500, State) error_terminate(500, State)
end. end.
@ -357,13 +360,14 @@ handler_terminate(HandlerState, Req, #state{handler={Handler, Opts}}) ->
try try
Handler:terminate(Req#http_req{resp_state=locked}, HandlerState) Handler:terminate(Req#http_req{resp_state=locked}, HandlerState)
catch Class:Reason -> catch Class:Reason ->
PLReq = lists:zip(record_info(fields, http_req), tl(tuple_to_list(Req))),
error_logger:error_msg( error_logger:error_msg(
"** Handler ~p terminating in terminate/2~n" "** Handler ~p terminating in terminate/2~n"
" for the reason ~p:~p~n" " for the reason ~p:~p~n"
"** Options were ~p~n** Handler state was ~p~n" "** Options were ~p~n** Handler state was ~p~n"
"** Request was ~p~n** Stacktrace: ~p~n~n", "** Request was ~p~n** Stacktrace: ~p~n~n",
[Handler, Class, Reason, Opts, [Handler, Class, Reason, Opts,
HandlerState, Req, erlang:get_stacktrace()]) HandlerState, PLReq, erlang:get_stacktrace()])
end. end.
-spec terminate_request(any(), #http_req{}, #state{}) -> ok. -spec terminate_request(any(), #http_req{}, #state{}) -> ok.

View file

@ -68,11 +68,12 @@ upgrade(_ListenerPid, Handler, Opts, Req) ->
service_available(Req, #state{handler=Handler}) service_available(Req, #state{handler=Handler})
end end
catch Class:Reason -> catch Class:Reason ->
PLReq = lists:zip(record_info(fields, http_req), tl(tuple_to_list(Req))),
error_logger:error_msg( error_logger:error_msg(
"** Handler ~p terminating in rest_init/3~n" "** Handler ~p terminating in rest_init/3~n"
" for the reason ~p:~p~n** Options were ~p~n" " for the reason ~p:~p~n** Options were ~p~n"
"** Request was ~p~n** Stacktrace: ~p~n~n", "** Request was ~p~n** Stacktrace: ~p~n~n",
[Handler, Class, Reason, Opts, Req, erlang:get_stacktrace()]), [Handler, Class, Reason, Opts, PLReq, erlang:get_stacktrace()]),
{ok, _Req2} = cowboy_http_req:reply(500, Req), {ok, _Req2} = cowboy_http_req:reply(500, Req),
close close
end. end.

View file

@ -130,11 +130,12 @@ handler_init(State=#state{handler=Handler, opts=Opts},
upgrade_denied(Req2) upgrade_denied(Req2)
catch Class:Reason -> catch Class:Reason ->
upgrade_error(Req), upgrade_error(Req),
PLReq = lists:zip(record_info(fields, http_req), tl(tuple_to_list(Req))),
error_logger:error_msg( error_logger:error_msg(
"** Handler ~p terminating in websocket_init/3~n" "** Handler ~p terminating in websocket_init/3~n"
" for the reason ~p:~p~n** Options were ~p~n" " for the reason ~p:~p~n** Options were ~p~n"
"** Request was ~p~n** Stacktrace: ~p~n~n", "** Request was ~p~n** Stacktrace: ~p~n~n",
[Handler, Class, Reason, Opts, Req, erlang:get_stacktrace()]) [Handler, Class, Reason, Opts, PLReq, erlang:get_stacktrace()])
end. end.
-spec upgrade_error(#http_req{}) -> closed. -spec upgrade_error(#http_req{}) -> closed.
@ -395,13 +396,14 @@ handler_call(State=#state{handler=Handler, opts=Opts}, Req, HandlerState,
{shutdown, Req2, HandlerState2} -> {shutdown, Req2, HandlerState2} ->
websocket_close(State, Req2, HandlerState2, {normal, shutdown}) websocket_close(State, Req2, HandlerState2, {normal, shutdown})
catch Class:Reason -> catch Class:Reason ->
PLReq = lists:zip(record_info(fields, http_req), tl(tuple_to_list(Req))),
error_logger:error_msg( error_logger:error_msg(
"** Handler ~p terminating in ~p/3~n" "** Handler ~p terminating in ~p/3~n"
" for the reason ~p:~p~n** Message was ~p~n" " for the reason ~p:~p~n** Message was ~p~n"
"** Options were ~p~n** Handler state was ~p~n" "** Options were ~p~n** Handler state was ~p~n"
"** Request was ~p~n** Stacktrace: ~p~n~n", "** Request was ~p~n** Stacktrace: ~p~n~n",
[Handler, Callback, Class, Reason, Message, Opts, [Handler, Callback, Class, Reason, Message, Opts,
HandlerState, Req, erlang:get_stacktrace()]), HandlerState, PLReq, erlang:get_stacktrace()]),
websocket_close(State, Req, HandlerState, {error, handler}) websocket_close(State, Req, HandlerState, {error, handler})
end. end.
@ -443,13 +445,14 @@ handler_terminate(#state{handler=Handler, opts=Opts},
try try
Handler:websocket_terminate(TerminateReason, Req, HandlerState) Handler:websocket_terminate(TerminateReason, Req, HandlerState)
catch Class:Reason -> catch Class:Reason ->
PLReq = lists:zip(record_info(fields, http_req), tl(tuple_to_list(Req))),
error_logger:error_msg( error_logger:error_msg(
"** Handler ~p terminating in websocket_terminate/3~n" "** Handler ~p terminating in websocket_terminate/3~n"
" for the reason ~p:~p~n** Initial reason was ~p~n" " for the reason ~p:~p~n** Initial reason was ~p~n"
"** Options were ~p~n** Handler state was ~p~n" "** Options were ~p~n** Handler state was ~p~n"
"** Request was ~p~n** Stacktrace: ~p~n~n", "** Request was ~p~n** Stacktrace: ~p~n~n",
[Handler, Class, Reason, TerminateReason, Opts, [Handler, Class, Reason, TerminateReason, Opts,
HandlerState, Req, erlang:get_stacktrace()]) HandlerState, PLReq, erlang:get_stacktrace()])
end, end,
closed. closed.