Просмотр исходного кода

Merge pull request #269 from seryl/patch-1

Fixing recursive examples README
Loïc Hoguin 12 лет назад
Родитель
Сommit
f060d2dfca

+ 13 - 2
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

+ 19 - 2
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
+```

+ 15 - 0
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
+```

+ 15 - 0
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
+```

+ 14 - 0
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!
+```

+ 69 - 2
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
+
+```

+ 26 - 0
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!
+```