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
2013-10-14 16:05:19 +02:00
..
src Fix the list of registered processes in the examples 2013-09-09 16:46:21 +02:00
Makefile erlang.mk now has built-in support for relx 2013-10-14 16:05:19 +02:00
README.md Convert the REST streaming example to a release 2013-09-08 19:50:31 +02:00
relx.config Convert the REST streaming example to a release 2013-09-08 19:50:31 +02:00

REST streaming example

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

To build the example, run the following command:

$ make

To start the release in the foreground:

$ ./_rel/bin/rest_stream_response_example console

Then point your browser at 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:

$ 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:

$ 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:

$ 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