Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge pull request #269 from seryl/patch-1

Fixing recursive examples README
  • Loading branch information...
commit f060d2dfcae9a622fa433f4f88d27548e94017eb 2 parents 0e01b82 + 855828d
@essen essen authored
View
15 examples/README.md
@@ -1,6 +1,17 @@
Cowboy examples
===============
-The Cowboy examples can be found in a separate repository:
+* [hello_world](./hello_world):
+simplest example application
-* https://github.com/extend/cowboy_examples
+* [echo_get](./echo_get):
+parse and echo a GET query string
+
+* [echo_post](./echo_post):
+parse and echo a POST parameter
+
+* [chunked_hello_world](./chunked_hello_world):
+demonstrates chunked data transfer with two one-second delays
+
+* [static](./static):
+an example file server
View
21 examples/chunked_hello_world/README.md
@@ -1,5 +1,5 @@
-Cowboy Hello World
-==================
+Cowboy Chunked Hello World
+==========================
To compile this example you need rebar in your PATH.
@@ -14,3 +14,20 @@ You can then start the Erlang node with the following command:
```
Then run the given command or point your browser to the indicated URL.
+
+Example
+-------
+
+```bash
+$ time curl -i http://localhost:8080
+HTTP/1.1 200 OK
+transfer-encoding: chunked
+connection: keep-alive
+server: Cowboy
+date: Fri, 28 Sep 2012 04:24:16 GMT
+
+Hello
+World
+Chunked!
+curl -i http://localhost:8080 0.01s user 0.00s system 0% cpu 2.015 total
+```
View
15 examples/echo_get/README.md
@@ -15,3 +15,18 @@ You can then start the Erlang node with the following command:
Then point your browser to the indicated URL. You can change
the GET parameter to check that the handler is echoing properly.
+
+Example
+-------
+
+``` bash
+$ curl -i "http://localhost:8080/?echo=saymyname"
+HTTP/1.1 200 OK
+connection: keep-alive
+server: Cowboy
+date: Fri, 28 Sep 2012 04:09:04 GMT
+content-length: 9
+Content-Encoding: utf-8
+
+saymyname
+```
View
15 examples/echo_post/README.md
@@ -22,3 +22,18 @@ string you want to echo. Check the ```curl_post.sh``` file for details.
```
./curl_post.sh STRING_TO_ECHO
```
+
+Example
+-------
+
+``` bash
+$ curl -i -d echo=echomeplz http://localhost:8080
+HTTP/1.1 200 OK
+connection: keep-alive
+server: Cowboy
+date: Fri, 28 Sep 2012 04:12:36 GMT
+content-length: 9
+Content-Encoding: utf-8
+
+echomeplz
+```
View
14 examples/hello_world/README.md
@@ -14,3 +14,17 @@ You can then start the Erlang node with the following command:
```
Then point your browser to the indicated URL.
+
+Example
+-------
+
+``` bash
+$ curl -i http://localhost:8080
+HTTP/1.1 200 OK
+connection: keep-alive
+server: Cowboy
+date: Fri, 28 Sep 2012 04:10:25 GMT
+content-length: 12
+
+Hello world!
+```
View
71 examples/rest_hello_world/README.md
@@ -1,5 +1,5 @@
-Cowboy Hello World
-==================
+Cowboy Rest Hello World
+=======================
To compile this example you need rebar in your PATH.
@@ -14,3 +14,70 @@ You can then start the Erlang node with the following command:
```
Then run any given command or point your browser to the indicated URL.
+
+Examples
+--------
+
+### Get HTML
+
+``` bash
+$ curl -i http://localhost:8080
+HTTP/1.1 200 OK
+connection: keep-alive
+server: Cowboy
+date: Fri, 28 Sep 2012 04:15:52 GMT
+content-length: 136
+Content-Type: text/html
+Variances: Accept
+
+<html>
+<head>
+ <meta charset="utf-8">
+ <title>REST Hello World!</title>
+</head>
+<body>
+ <p>REST Hello World as HTML!</p>
+</body>
+</html>
+```
+
+### Get JSON
+
+``` bash
+$ curl -i -H "Accept: application/json" http://localhost:8080
+HTTP/1.1 200 OK
+connection: keep-alive
+server: Cowboy
+date: Fri, 28 Sep 2012 04:16:46 GMT
+content-length: 24
+Content-Type: application/json
+Variances: Accept
+
+{"rest": "Hello World!"}
+```
+
+### Get text
+
+``` bash
+$ curl -i -H "Accept: text/plain" http://localhost:8080
+HTTP/1.1 200 OK
+connection: keep-alive
+server: Cowboy
+date: Fri, 28 Sep 2012 04:18:35 GMT
+content-length: 25
+Content-Type: text/plain
+Variances: Accept
+
+REST Hello World as text!
+```
+
+### Get a 406
+``` bash
+$ curl -i -H "Accept: text/css" http://localhost:8080
+HTTP/1.1 406 Not Acceptable
+connection: keep-alive
+server: Cowboy
+date: Fri, 28 Sep 2012 04:18:51 GMT
+content-length: 0
+
+```
View
26 examples/static/README.md
@@ -16,3 +16,29 @@ You can then start the Erlang node with the following command:
Cowboy will serve all the files you put in the priv/ directory.
You can replace the filename given in the example URL with the
one of a file you added to this directory to receive that file.
+
+Example
+-------
+
+Show that the file is returned as an octet-stream
+
+``` bash
+$ curl -i http://localhost:8080/test.txt
+HTTP/1.1 200 OK
+connection: keep-alive
+server: Cowboy
+date: Fri, 28 Sep 2012 04:19:40 GMT
+content-length: 52
+Content-Type: application/octet-stream
+Last-Modified: Fri, 28 Sep 2012 04:01:20 GMT
+
+If you read this then the static file server works!
+```
+
+Finally download and cat the file to verify
+
+``` bash
+$ curl -sLO http://localhost:8080/test.txt
+$ cat test.txt
+If you read this then the static file server works!
+```
Please sign in to comment.
Something went wrong with that request. Please try again.