mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 20:30:23 +00:00
Simplify example instructions and fix broken examples
Also convert to AsciiDoc while we're at it.
This commit is contained in:
parent
4023e7f4e4
commit
394b4f0bf7
28 changed files with 246 additions and 388 deletions
|
@ -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
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue