aboutsummaryrefslogtreecommitdiffstats
path: root/examples/rest_stream_response/README.md
blob: 90004e6a60edfb14c82f378f42fea1931778b455 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
REST streaming example
======================

To try this example, you need GNU `make`, `git` and
[relx](https://github.com/erlware/relx) in your PATH.

To build the example, run the following command:

``` bash
$ make
```

To start the release in the foreground:

``` bash
$ ./_rel/bin/rest_stream_response_example console
```

Then point your browser at [http://localhost:8080](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:

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

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

``` 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

```