2013-09-08 12:22:30 +02:00
|
|
|
REST hello world example
|
|
|
|
========================
|
2012-07-22 04:46:05 +02:00
|
|
|
|
2013-09-08 12:22:30 +02:00
|
|
|
To try this example, you need GNU `make`, `git` and
|
|
|
|
[relx](https://github.com/erlware/relx) in your PATH.
|
2012-07-22 04:46:05 +02:00
|
|
|
|
2013-09-08 12:22:30 +02:00
|
|
|
To build the example, run the following command:
|
2012-07-22 04:46:05 +02:00
|
|
|
|
2013-09-08 12:22:30 +02:00
|
|
|
``` bash
|
|
|
|
$ make
|
2012-07-22 04:46:05 +02:00
|
|
|
```
|
2013-09-08 12:22:30 +02:00
|
|
|
|
|
|
|
To start the release in the foreground:
|
|
|
|
|
|
|
|
``` bash
|
|
|
|
$ ./_rel/bin/hello_world_example console
|
2012-07-22 04:46:05 +02:00
|
|
|
```
|
|
|
|
|
2013-09-08 12:22:30 +02:00
|
|
|
Then point your browser at [http://localhost:8080](http://localhost:8080).
|
2012-09-27 21:32:11 -07:00
|
|
|
|
2013-09-08 12:22:30 +02:00
|
|
|
Example output
|
|
|
|
--------------
|
2012-09-27 21:32:11 -07:00
|
|
|
|
2013-09-08 12:22:30 +02: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
|
2013-09-08 12:22:30 +02:00
|
|
|
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>
|
|
|
|
```
|
|
|
|
|
2013-09-08 12:22:30 +02:00
|
|
|
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
|
2013-09-08 12:22:30 +02:00
|
|
|
content-type: application/json
|
|
|
|
vary: Accept
|
2012-09-27 21:32:11 -07:00
|
|
|
|
|
|
|
{"rest": "Hello World!"}
|
|
|
|
```
|
|
|
|
|
2013-09-08 12:22:30 +02:00
|
|
|
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
|
2013-09-08 12:22:30 +02:00
|
|
|
content-type: text/plain
|
|
|
|
vary: Accept
|
2012-09-27 21:32:11 -07:00
|
|
|
|
|
|
|
REST Hello World as text!
|
|
|
|
```
|
|
|
|
|
2013-09-08 12:22:30 +02:00
|
|
|
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
|
|
|
|
|
|
|
|
```
|