0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 20:30:23 +00:00
cowboy/examples/rest_hello_world/README.md

87 lines
1.5 KiB
Markdown
Raw Normal View History

REST hello world example
========================
2012-07-22 04:46:05 +02:00
To try this example, you need GNU `make` and `git` in your PATH.
2012-07-22 04:46:05 +02:00
To build the example, run the following command:
2012-07-22 04:46:05 +02:00
``` bash
$ make
2012-07-22 04:46:05 +02:00
```
To start the release in the foreground:
``` bash
$ ./_rel/rest_hello_world_example/bin/rest_hello_world_example console
2012-07-22 04:46:05 +02:00
```
Then point your browser at [http://localhost:8080](http://localhost:8080).
2012-09-27 21:32:11 -07:00
Example output
--------------
2012-09-27 21:32:11 -07:00
Request HTML:
2012-09-27 21:32:11 -07:00
``` 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
vary: Accept
2012-09-27 21:32:11 -07:00
<html>
<head>
<meta charset="utf-8">
<title>REST Hello World!</title>
</head>
<body>
<p>REST Hello World as HTML!</p>
</body>
</html>
```
Request JSON:
2012-09-27 21:32:11 -07:00
``` 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
vary: Accept
2012-09-27 21:32:11 -07:00
{"rest": "Hello World!"}
```
Request plain text:
2012-09-27 21:32:11 -07:00
``` 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
vary: Accept
2012-09-27 21:32:11 -07:00
REST Hello World as text!
```
Request a non acceptable content-type:
2012-09-27 21:32:11 -07:00
``` 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
```