0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 20:30:23 +00:00
cowboy/examples/rest_stream_response
2016-06-16 19:44:38 +02:00
..
src Remove the .app.src file in all examples 2016-01-14 20:56:31 +01:00
Makefile Simplify specifying the Cowboy version in examples 2016-01-14 22:58:22 +01:00
README.asciidoc Mark broken examples as such in their README 2016-06-16 19:44:38 +02:00
relx.config Convert the REST streaming example to a release 2013-09-08 19:50:31 +02:00

= REST streaming example

*This example is currently broken on master.*

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

== About

This example simulates streaming a large amount of data from a data store one
record at a time in CSV format. It also uses a constraint to ensure that the
last segment of the route is an integer.

== Example output

Fetch records with the second field with value 1:

[source,bash]
----
$ curl -i localhost:8080
HTTP/1.1 200 OK
transfer-encoding: identity
server: Cowboy
date: Sun, 10 Feb 2013 19:32:16 GMT
connection: close
content-type: text/csv

DBUZGQ0C,1,28
BgoQAxMV,1,6
DAYEFxER,1,18
...
----

Fetch records with the second field with value 4:

[source,bash]
----
$ curl -i localhost:8080/4
HTTP/1.1 200 OK
transfer-encoding: identity
server: Cowboy
date: Sun, 10 Feb 2013 19:34:31 GMT
connection: close
content-type: text/csv

ABcFDxcE,4,42
DgYQCgEE,4,5
CA8BBhYD,4,10
...
----

Fail to use a proper integer and get an error:

[source,bash]
----
$ curl -i localhost:8080/foo
HTTP/1.1 404 Not Found
connection: keep-alive
server: Cowboy
date: Sun, 10 Feb 2013 19:36:16 GMT
content-length: 0

----