diff options
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.erl | 6 |
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 |