aboutsummaryrefslogtreecommitdiffstats
path: root/examples/rest_pastebin
diff options
context:
space:
mode:
Diffstat (limited to 'examples/rest_pastebin')
-rw-r--r--examples/rest_pastebin/README.asciidoc (renamed from examples/rest_pastebin/README.md)35
-rw-r--r--examples/rest_pastebin/src/toppage_handler.erl6
2 files changed, 14 insertions, 27 deletions
diff --git a/examples/rest_pastebin/README.md b/examples/rest_pastebin/README.asciidoc
index a3941f1..d0cabc1 100644
--- a/examples/rest_pastebin/README.md
+++ b/examples/rest_pastebin/README.asciidoc
@@ -1,59 +1,46 @@
-REST pastebin example
-=====================
+= REST pastebin example
To try this example, you need GNU `make` and `git` in your PATH.
-To build the example, run the following command:
+To build and run the example, use the following command:
-``` bash
-$ make
-```
+[source,bash]
+$ make run
-To start the release in the foreground:
+Then point your browser to http://localhost:8080
-``` bash
-$ ./_rel/rest_pastebin_example/bin/rest_pastebin_example console
-```
-
-Then point your browser at [http://localhost:8080](http://localhost:8080).
-
-Usage
------
+== Usage
To upload something to the paste application, you can use `curl`:
-``` bash
+[source,bash]
$ <command> | curl -i --data-urlencode paste@- localhost:8080
-```
Or, to upload the file `my_file`:
-``` bash
+[source,bash]
curl -i --data-urlencode paste@my_file localhost:8080
-```
The URL of your data will be in the location header. Alternately, you can visit
http://localhost:8080 with your favorite web browser and submit your paste via
the form.
Code that has been pasted can be highlighted with ?lang=<language> option if
-you have [highlight](http://www.andre-simon.de/doku/highlight/en/highlight.html)
+you have http://www.andre-simon.de/doku/highlight/en/highlight.html[highlight]
installed (although `pygments` or any other should work just fine).
This will show the contents of the HTML file:
-``` bash
+[source,bash]
curl -i --data-urlencode paste@priv/index.html localhost:8080
curl <url from location header>
-```
If your terminal supports color sequences and `highlight` is installed,
the following command will show the same contents but with HTML syntax
highlighting.
-``` bash
+[source,bash]
curl <url from location header>?lang=html
-```
If you open the same URL in your web browser and your web browser tells
Cowboy that it prefers HTML files, you will see the file highlighted
diff --git a/examples/rest_pastebin/src/toppage_handler.erl b/examples/rest_pastebin/src/toppage_handler.erl
index 57b9315..324fa4a 100644
--- a/examples/rest_pastebin/src/toppage_handler.erl
+++ b/examples/rest_pastebin/src/toppage_handler.erl
@@ -16,7 +16,7 @@
-export([paste_text/2]).
init(Req, Opts) ->
- random:seed(now()),
+ random:seed(os:timestamp()),
{cowboy_rest, Req, Opts}.
allowed_methods(Req, State) ->
@@ -57,13 +57,13 @@ create_paste(Req, State) ->
paste_html(Req, index) ->
{read_file("index.html"), Req, index};
paste_html(Req, Paste) ->
- #{lang := Lang} = cowboy_req:match_qs([lang], Req),
+ #{lang := Lang} = cowboy_req:match_qs([{lang, [], plain}], Req),
{format_html(Paste, Lang), Req, Paste}.
paste_text(Req, index) ->
{read_file("index.txt"), Req, index};
paste_text(Req, Paste) ->
- #{lang := Lang} = cowboy_req:match_qs([lang], Req),
+ #{lang := Lang} = cowboy_req:match_qs([{lang, [], plain}], Req),
{format_text(Paste, Lang), Req, Paste}.
% Private