diff --git a/priv/dispatch.conf b/priv/dispatch.conf index 1ec06ba..3c5f3ed 100644 --- a/priv/dispatch.conf +++ b/priv/dispatch.conf @@ -1,4 +1,4 @@ %%-*- mode: erlang -*- {[file], monic_file_resource, [{root, "tmp"}]}. -{[file, cookie, key], monic_item_resource, [{root, "tmp"}]}. +{[file, key, cookie], monic_item_resource, [{root, "tmp"}]}. diff --git a/src/monic_file_resource.erl b/src/monic_file_resource.erl index fec983e..66e6b53 100644 --- a/src/monic_file_resource.erl +++ b/src/monic_file_resource.erl @@ -47,18 +47,14 @@ content_types_provided(ReqData, Context) -> {[{"application/json", show_file}], ReqData, Context}. create_path(ReqData, Context) -> - File = wrq:path_info(file, ReqData), - Key = 1, %% TODO increment. - Cookie = crypto:rand_uniform(1, 1 bsl 32), - {io_lib:format("/~s/~B/~B", [File, Key, Cookie]), ReqData, Context}. + {"ignored", ReqData, Context}. delete_resource(ReqData, Context) -> - case file:delete(monic_utils:path(ReqData, Context)) of - ok -> - {true, ReqData, Context}; - _ -> - {false, ReqData, Context} - end. + Result = case file:delete(monic_utils:path(ReqData, Context)) of + ok -> true; + _ -> false + end, + {Result, ReqData, Context}. init(ConfigProps) -> {ok, ConfigProps}. @@ -93,6 +89,7 @@ create_file(ReqData, Context) -> end. add_item(ReqData, Context) -> + erlang:display({disp, wrq:disp_path(ReqData)}), case monic_file:open(monic_utils:path(ReqData, Context)) of {ok, Pid} -> try @@ -100,7 +97,10 @@ add_item(ReqData, Context) -> StreamBody = wrq:stream_req_body(ReqData, ?BUFFER_SIZE), case monic_file:add(Pid, Size, StreamBody) of {ok, Key, Cookie} -> - {true, ReqData, Context}; + File = wrq:path_info(file, ReqData), + Location = io_lib:format("/~s/~B/~B",[File, Key, Cookie]), + ReqData1 = wrq:set_resp_header("Location", Location, ReqData), + {true, ReqData1, Context}; _ -> {false, ReqData, Context} end diff --git a/src/monic_item_resource.erl b/src/monic_item_resource.erl index 8cd5b77..053b508 100644 --- a/src/monic_item_resource.erl +++ b/src/monic_item_resource.erl @@ -16,9 +16,7 @@ -export([init/1, allowed_methods/2, content_types_provided/2, - create_path/2, delete_resource/2, - post_is_create/2, resource_exists/2]). allowed_methods(ReqData, Context) -> @@ -27,17 +25,11 @@ allowed_methods(ReqData, Context) -> content_types_provided(ReqData, Context) -> {[{"application/octet-stream", to_binary}], ReqData, Context}. -create_path(ReqData, Context) -> - {"/fixme", ReqData, Context}. - delete_resource(ReqData, Context) -> {false, ReqData, Context}. init(ConfigProps) -> {ok, ConfigProps}. -post_is_create(ReqData, Context) -> - {true, ReqData, Context}. - resource_exists(ReqData, Context) -> {true, ReqData, Context}.