[erlang-questions] Cowboy REST POST and custom status code

Max Grigoriev <>
Wed Jun 12 08:15:18 CEST 2013


Thanks to Slava Yurin

His  advise:
 
make_post(Req, State) ->
    ...,
    {ok, Reply} = cowboy_req:reply(201, [], <<"HELLO POST\n">>, Req),
    {halt, Reply, State}.


On Tuesday, June 11, 2013 9:17:41 PM UTC+3, Max Grigoriev wrote:
>
> How can I set status code in my REST POST handler.
>
> Now I'm doing this
>
> make_post(Req, State) ->
>   lager:info("post"),
>   Resp = cowboy_req:set_resp_body(<<"HELLO POST\n">>, Req),
>   {ok, Resp3} = cowboy_req:reply(201, Resp),
>   {true, Resp3, State}.
>
> But I receive such errors:
>
> 1:43:10.510 [info] [#pbshare_logic_registration#<0.205.0>] 
> [handle_info#35] :Exit Logic from <0.204.0> Reason: 
> {function_clause,[{cowboy_req,reply,[204,[],<<>>,{http_req,#Port<0.6355>,ranch_tcp,keepalive,<0.204.0>,<<"POST">>,'HTTP/1.1',{{127,0,0,1},50024},<<"localhost">>,undefined,8080,<<"/rest/registration/make">>,[<<"make">>],<<>>,undefined,[],[{<<"user-agent">>,<<"curl/7.29.0">>},{<<"host">>,<<"localhost:8080">>},{<<"accept">>,<<"
> */*
> ">>},{<<"content-type">>,<<"application/json">>},{<<"content-length">>,<<"14">>}],[{<<"content-length">>,14},{<<"expect">>,undefined},{<<"content-length">>,14},{<<"content-type">>,{<<"application">>,<<"json">>,[]}},{<<"if-modified-since">>,undefined},{<<"if-none-match">>,undefined},{<<"if-unmodified-since">>,undefined},{<<"if-match">>,undefined},{<<"accept">>,[{{<<"
> *">>,<<"*">>,[]},1000,[]}]}],undefined,[{charset,undefined},{media_type,{<<"application">>,<<"json">>,[]}}],done,undefined,<<>>,false,done,[],<<>>,undefined}],[{file,"src/cowboy_req.erl"},{line,948}]},{cowboy_rest,respond,3,[{file,"src/cowboy_rest.erl"},{line,1085}]},{cowboy_rest,upgrade,4,[{file,"src/cowboy_rest.erl"},{line,75}]},{cowboy_protocol,execute,4,[{file,"src/cowboy_protocol.erl"},{line,523}]}]} 
> 21:43:10.510 [error] [Undefined#Undefined#emulator] [Undefined#Undefined] 
> :Error in process <0.204.0> with exit value: 
> {function_clause,[{cowboy_req,reply,[204,[],<<0 
> bytes>>,{http_req,#Port<0.6355>,ranch_tcp,keepalive,<0.204.0>,<<4 
> bytes>>,'HTTP/1.1',{{127,0,0,1},50024},<<9 bytes>>,undefined,8080,<<23 
> bytes>>,[<<4 bytes>>],<<0 bytes>>,undefined,[],[{<<10 bytes>>,<<11 
> bytes>>},{<<4 bytes>>,<<14 bytes>>},{<<6 bytes>>,<<3 bytes>>},{<<12 
> bytes>>,<<16 bytes>>},{<<14 bytes>>,<<2 bytes>>}],[{<<14 bytes>>,14},{<<6 
> bytes>>,undefined},{<<14 bytes>>,14},{<<12 bytes>>,{<<11 bytes>>,<<4 
> bytes>>,[]}},{<<17 bytes>>,undefined},{<<13 bytes>>,undefined},{<<19 
> bytes>>,undefined},{<<8 bytes>>,undefined...
>  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130611/b541d0e8/attachment.html>


More information about the erlang-questions mailing list