aboutsummaryrefslogtreecommitdiffstats
path: root/examples/rest_stream_response/src/toppage_handler.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2017-07-19 18:42:44 +0200
committerLoïc Hoguin <[email protected]>2017-07-19 18:42:44 +0200
commite7a65406a7e429a6fb46465fd4a9a0c3d66d442a (patch)
treef0f40d25fbed03aadc8cfbe0d0ff80ddcc847bda /examples/rest_stream_response/src/toppage_handler.erl
parentb5e43527dfc4e8f0f2b5d75c4c41c190d009158d (diff)
downloadcowboy-e7a65406a7e429a6fb46465fd4a9a0c3d66d442a.tar.gz
cowboy-e7a65406a7e429a6fb46465fd4a9a0c3d66d442a.tar.bz2
cowboy-e7a65406a7e429a6fb46465fd4a9a0c3d66d442a.zip
Remove the broken examples
Hooks are gone, and we won't be able to stream body in REST in Cowboy 2.0-rc.1, and might not in 2.0 either. That is, other than via halting the processing.
Diffstat (limited to 'examples/rest_stream_response/src/toppage_handler.erl')
-rw-r--r--examples/rest_stream_response/src/toppage_handler.erl37
1 files changed, 0 insertions, 37 deletions
diff --git a/examples/rest_stream_response/src/toppage_handler.erl b/examples/rest_stream_response/src/toppage_handler.erl
deleted file mode 100644
index 61f5ab9..0000000
--- a/examples/rest_stream_response/src/toppage_handler.erl
+++ /dev/null
@@ -1,37 +0,0 @@
-%% Feel free to use, reuse and abuse the code in this file.
-
-%% @doc Streaming handler.
--module(toppage_handler).
-
--export([init/2]).
--export([content_types_provided/2]).
--export([streaming_csv/2]).
-
-init(Req, Table) ->
- {cowboy_rest, Req, Table}.
-
-content_types_provided(Req, State) ->
- {[
- {{<<"text">>, <<"csv">>, []}, streaming_csv}
- ], Req, State}.
-
-streaming_csv(Req, Table) ->
- N = cowboy_req:binding(v1, Req, 1),
- MS = [{{'$1', '$2', '$3'}, [{'==', '$2', N}], ['$$']}],
- {{stream, result_streamer(Table, MS)}, Req, Table}.
-
-result_streamer(Table, MS) ->
- fun (Socket, Transport) ->
- send_records(Socket, Transport, ets:select(Table, MS, 1))
- end.
-
-send_records(Socket, Transport, {[Rec], Cont}) ->
- timer:sleep(500),
- send_line(Socket, Transport, Rec),
- send_records(Socket, Transport, ets:select(Cont));
-send_records(_Socket, _Transport, '$end_of_table') ->
- ok.
-
-send_line(Socket, Transport, [Key, V1, V2]) ->
- Transport:send(Socket,
- [Key, $,, integer_to_list(V1), $,, integer_to_list(V2), $\r, $\n]).