mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
Remove process_post, post_is_create, create_path, created_path callbacks
Instead it will always go through content_types_accepted and it is up to the resource code to do any creation and to return the created path if the method is POST and the client should be redirected to the created resource's location. This removes the meta value 'put_path' as it is not needed anymore. This fixes an issue with PATCH where content types were not normalized.
This commit is contained in:
parent
6256429dc9
commit
5a171d0f80
5 changed files with 30 additions and 165 deletions
|
@ -9,8 +9,6 @@
|
|||
-export([content_types_provided/2]).
|
||||
-export([content_types_accepted/2]).
|
||||
-export([resource_exists/2]).
|
||||
-export([post_is_create/2]).
|
||||
-export([create_path/2]).
|
||||
|
||||
%% Callback Callbacks
|
||||
-export([create_paste/2]).
|
||||
|
@ -47,17 +45,16 @@ resource_exists(Req, _State) ->
|
|||
end
|
||||
end.
|
||||
|
||||
post_is_create(Req, State) ->
|
||||
{true, Req, State}.
|
||||
|
||||
create_path(Req, State) ->
|
||||
{<<$/, (new_paste_id())/binary>>, Req, State}.
|
||||
|
||||
create_paste(Req, State) ->
|
||||
{<<$/, PasteID/binary>>, Req2} = cowboy_req:meta(put_path, Req),
|
||||
{ok, [{<<"paste">>, Paste}], Req3} = cowboy_req:body_qs(Req2),
|
||||
ok = file:write_file(full_path(PasteID), Paste),
|
||||
{true, Req3, State}.
|
||||
case cowboy_req:method(Req3) of
|
||||
{<<"POST">>, Req4} ->
|
||||
{<<$/, (new_paste_id())/binary>>, Req4, State};
|
||||
{_, Req4} ->
|
||||
{true, Req4, State}
|
||||
end.
|
||||
|
||||
paste_html(Req, index) ->
|
||||
{read_file("index.html"), Req, index};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue