0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00
cowboy/examples/rest_hello_world
2016-01-14 20:56:31 +01:00
..
src Remove the .app.src file in all examples 2016-01-14 20:56:31 +01:00
Makefile Remove the .app.src file in all examples 2016-01-14 20:56:31 +01:00
README.asciidoc Simplify example instructions and fix broken examples 2016-01-14 20:00:50 +01:00
relx.config Convert the REST hello world example to a release 2013-09-08 12:22:30 +02:00

= REST hello world example

To try this example, you need GNU `make` and `git` in your PATH.

To build and run the example, use the following command:

[source,bash]
$ make run

Then point your browser to http://localhost:8080

== Example output

Request HTML:

[source,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

<html>
<head>
  <meta charset="utf-8">
  <title>REST Hello World!</title>
</head>
<body>
  <p>REST Hello World as HTML!</p>
</body>
</html>
----

Request JSON:

[source,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

{"rest": "Hello World!"}
----

Request plain text:

[source,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

REST Hello World as text!
----

Request a non acceptable content-type:

[source,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

----