2012-09-27 21:32:11 -07:00
|
|
|
Cowboy Rest Hello World
|
|
|
|
=======================
|
2012-07-22 04:46:05 +02:00
|
|
|
|
|
|
|
To compile this example you need rebar in your PATH.
|
|
|
|
|
|
|
|
Type the following command:
|
|
|
|
```
|
|
|
|
$ rebar get-deps compile
|
|
|
|
```
|
|
|
|
|
|
|
|
You can then start the Erlang node with the following command:
|
|
|
|
```
|
|
|
|
./start.sh
|
|
|
|
```
|
|
|
|
|
|
|
|
Then run any given command or point your browser to the indicated URL.
|
2012-09-27 21:32:11 -07:00
|
|
|
|
|
|
|
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
|
2012-10-11 20:44:53 +02:00
|
|
|
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>
|
|
|
|
```
|
|
|
|
|
|
|
|
### 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
|
2012-10-11 20:44:53 +02:00
|
|
|
Vary: Accept
|
2012-09-27 21:32:11 -07:00
|
|
|
|
|
|
|
{"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
|
2012-10-11 20:44:53 +02:00
|
|
|
Vary: Accept
|
2012-09-27 21:32:11 -07:00
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
```
|