aboutsummaryrefslogtreecommitdiffstats
path: root/examples/upload/src/upload_handler.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2014-06-03 19:16:34 +0200
committerLoïc Hoguin <[email protected]>2014-06-03 19:20:07 +0200
commit07c622a0febfc2ef0fb2bb19e55766ca13cd3ece (patch)
tree120adeb2c2e2e6dd0ab484cb01b22afbcbda9851 /examples/upload/src/upload_handler.erl
parent5d1d9af6cd2b91df567e482edfac2e1da104e267 (diff)
downloadcowboy-07c622a0febfc2ef0fb2bb19e55766ca13cd3ece.tar.gz
cowboy-07c622a0febfc2ef0fb2bb19e55766ca13cd3ece.tar.bz2
cowboy-07c622a0febfc2ef0fb2bb19e55766ca13cd3ece.zip
Add a simple multipart upload example
Diffstat (limited to 'examples/upload/src/upload_handler.erl')
-rw-r--r--examples/upload/src/upload_handler.erl21
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/upload/src/upload_handler.erl b/examples/upload/src/upload_handler.erl
new file mode 100644
index 0000000..0895d78
--- /dev/null
+++ b/examples/upload/src/upload_handler.erl
@@ -0,0 +1,21 @@
+-module(upload_handler).
+-behaviour(cowboy_http_handler).
+
+-export([init/3]).
+-export([handle/2]).
+-export([terminate/3]).
+
+init(_, Req, _Opts) ->
+ {ok, Req, undefined}.
+
+handle(Req, State) ->
+ {ok, Headers, Req2} = cowboy_req:part(Req),
+ {ok, Data, Req3} = cowboy_req:part_body(Req2),
+ {file, <<"inputfile">>, Filename, ContentType, _TE}
+ = cow_multipart:form_data(Headers),
+ io:format("Received file ~p of content-type ~p as follow:~n~p~n~n",
+ [Filename, ContentType, Data]),
+ {ok, Req3, State}.
+
+terminate(_Reason, _Req, _State) ->
+ ok.