From fed6727634fb1db092c38ad53940007fc27d6edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Mon, 9 Jan 2012 08:06:05 +0100 Subject: Make REST handlers' put_resource accept true or false return values Followup to 0bb23f2400ed0b65834913c8522a978d986f1f92. As discussed in #119. --- src/cowboy_http_rest.erl | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/cowboy_http_rest.erl') diff --git a/src/cowboy_http_rest.erl b/src/cowboy_http_rest.erl index 63d15ff..35f82e3 100644 --- a/src/cowboy_http_rest.erl +++ b/src/cowboy_http_rest.erl @@ -711,9 +711,12 @@ choose_content_type(Req, State, _OnTrue, _ContentType, []) -> choose_content_type(Req, State, OnTrue, ContentType, [{Accepted, Fun}|_Tail]) when ContentType =:= Accepted -> case call(Req, State, Fun) of - {ok, Req2, HandlerState} -> + {true, Req2, HandlerState} -> + State2 = State#state{handler_state=HandlerState}, + next(Req2, State2, OnTrue); + {false, Req2, HandlerState} -> State2 = State#state{handler_state=HandlerState}, - next(Req2, State2, OnTrue) + respond(Req2, State2, 500) end; choose_content_type(Req, State, OnTrue, ContentType, [_Any|Tail]) -> choose_content_type(Req, State, OnTrue, ContentType, Tail). -- cgit v1.2.3