From 43ccea87bc329d29ac427c32d731753f980fe704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 15 Jun 2016 13:27:31 +0200 Subject: Fix rest_pastebin example --- test/examples_SUITE.erl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'test/examples_SUITE.erl') diff --git a/test/examples_SUITE.erl b/test/examples_SUITE.erl index 6f651c5..7092701 100644 --- a/test/examples_SUITE.erl +++ b/test/examples_SUITE.erl @@ -277,6 +277,36 @@ do_rest_basic_auth(Transport, Protocol, Config) -> <<"Hello, Alladin!\n">> = do_rest_get(Transport, Protocol, "/", undefined, "Alladin:open sesame", Config), ok. +%% REST pastebin. + +rest_pastebin(Config) -> + doc("REST pastebin example."), + try + do_compile_and_start(rest_pastebin), + do_rest_pastebin(tcp, http, Config), + do_rest_pastebin(tcp, http2, Config) + after + do_stop(rest_pastebin) + end. + +do_rest_pastebin(Transport, Protocol, Config) -> + %% Existing files. + _ = do_rest_get(Transport, Protocol, "/", <<"text/html">>, undefined, Config), + _ = do_rest_get(Transport, Protocol, "/", <<"text/plain">>, undefined, Config), + %% Use POST to upload a new file and download it back. + ConnPid = gun_open([{port, 8080}, {type, Transport}, {protocol, Protocol}|Config]), + Ref = gun:post(ConnPid, "/", [ + {<<"content-type">>, <<"application/x-www-form-urlencoded">>} + ], <<"paste=this+is+fun">>), + %% @todo Not too happy about 303 here, + %% will need to revisit this example. + {response, _, 303, Headers} = gun:await(ConnPid, Ref), + {_, Location} = lists:keyfind(<<"location">>, 1, Headers), + <<"this is fun">> = do_rest_get(Transport, Protocol, Location, <<"text/plain">>, undefined, Config), + << "", _/bits >> + = do_rest_get(Transport, Protocol, Location, <<"text/html">>, undefined, Config), + ok. + %% File server. file_server(Config) -> -- cgit v1.2.3