Loïc Hoguin
97b8401c45
REST is no longer experimental
2013-04-20 17:46:29 +02:00
Loïc Hoguin
711c21ac4f
Fix POST behavior in REST
...
The resource accept callback can trigger the following responses:
* returns true, new resource, location header set: 201
* returns true, otherwise: 200, 204 or 300 (depends on body)
* returns false: 422
* returns URL, new resource: 201
* returns URL, otherwise: 303
2013-04-20 15:52:31 +02:00
Loïc Hoguin
109a1b8227
Add section about REST methods
2013-04-19 13:54:43 +02:00
Loïc Hoguin
8d7350fa84
Build Allow header with a binary comprehension
2013-04-15 22:15:45 +02:00
Loïc Hoguin
5755d1155f
Merge branch 'fix_pastebin_example' of git://github.com/acammack/cowboy
2013-04-12 19:49:35 +02:00
Adam Cammack
4e29a49472
Fix rest_pastebin example
...
Bring the rest_pastebin example in line with REST API changes for
creating resources.
2013-04-12 12:23:33 -05:00
Loïc Hoguin
b58a0549e1
Add default operations for OPTIONS method in REST
...
It defaults to setting the Allow header to "HEAD, GET, OPTIONS".
2013-04-12 19:02:00 +02:00
Loïc Hoguin
d063511a0e
Update Ranch to 0.8.1
2013-04-12 15:24:59 +02:00
Loïc Hoguin
61ca459feb
Don't receive data from the socket only once in the loop handler
2013-04-12 14:34:36 +02:00
Loïc Hoguin
2aabc73045
Ensure we can fetch the body in the info/3 function of loop handlers
2013-04-12 14:32:37 +02:00
Loïc Hoguin
1eb2bda304
Merge branch 'rest-content-type' of git://github.com/dvv/cowboy
2013-04-12 13:24:40 +02:00
Vladimir Dronnikov
180143f9b2
rest: reject incorrect content-type header
2013-04-12 14:58:08 +04:00
Loïc Hoguin
fa31c82595
Merge branch 'master' of git://github.com/andrzejsliwa/cowboy
2013-04-12 12:15:50 +02:00
Andrzej Sliwa
1ff1ac85cd
missing comma in documentation of static examples
2013-04-12 08:26:44 +02:00
Loïc Hoguin
0460406969
Merge branch 'eventsource-helper' of git://github.com/jdavisp3/cowboy
2013-04-11 23:58:08 +02:00
Loïc Hoguin
55cd18e4d8
Merge branch 'iolist_path_support' of git://github.com/tsloughter/cowboy
2013-04-11 23:28:37 +02:00
Loïc Hoguin
5b9404fd07
Fix static handler snippet in the guide
...
Thanks to Martin Törnwall for pointing this out.
2013-04-11 23:26:16 +02:00
Loïc Hoguin
2a98ae05e3
Merge branch 'fix/sendfile-error-handling' of git://github.com/soundrop/cowboy
2013-04-11 23:14:27 +02:00
Loïc Hoguin
23aa1314fc
First draft of the REST chapter in the guide
2013-04-11 22:25:36 +02:00
Loïc Hoguin
ae45cecfcd
Don't accept TRACE or CONNECT methods by default in REST
...
For the simple reason that the REST code does nothing about
them.
2013-04-11 22:25:36 +02:00
Loïc Hoguin
5a171d0f80
Remove process_post, post_is_create, create_path, created_path callbacks
...
Instead it will always go through content_types_accepted and it is
up to the resource code to do any creation and to return the created
path if the method is POST and the client should be redirected to the
created resource's location.
This removes the meta value 'put_path' as it is not needed anymore.
This fixes an issue with PATCH where content types were not normalized.
2013-04-11 22:25:36 +02:00
Loïc Hoguin
6256429dc9
Remove cowboy_req:peer_addr/1
...
This kind of function is highly dependent on the proxy used,
therefore parsing was added for x-forwarded-for instead and we
just let users write the function that works for them. The code
can be easily extracted if anyone was using the function.
2013-04-11 22:25:36 +02:00
Loïc Hoguin
67beb4d01d
Parse the x-forwarded-for header as a list of tokens
2013-04-11 22:25:36 +02:00
Loïc Hoguin
be94cb12aa
Shorten the parse_header clauses
2013-04-11 22:25:35 +02:00
Loïc Hoguin
bd9c3df6d0
No need for fully qualified call to the same module
2013-04-11 22:25:31 +02:00
Loïc Hoguin
53a48b254f
Switch the arguments to cowboy_req:stream_body/2
...
Make them consistent with the rest of the module.
2013-04-09 19:47:14 +02:00
Ali Sabil
83876c3e33
Do not crash if connection times out while sending a file using sendfile
2013-04-08 21:21:26 +02:00
Dave Peticolas
e3a2fd2a5b
Add a reference to an eventsource helper utility.
2013-04-06 20:05:21 -07:00
Loïc Hoguin
7de1d9d3d5
Update to 0.8.3
2013-04-03 13:50:51 +02:00
Loïc Hoguin
ea935413cd
Update CHANGELOG
2013-04-03 13:50:36 +02:00
Loïc Hoguin
2b56bb498f
Update Ranch to 0.8.0
2013-04-03 13:47:12 +02:00
Loïc Hoguin
ce1d8862c0
Replace init_stream/5 with stream_body/2
...
This allows us to change the max chunk length on a per chunk basis
instead of for the whole stream. It's also much easier to use this
way even if we don't want to change the chunk size.
2013-04-02 19:40:38 +02:00
Tristan Sloughter
1372c13034
add iolist support to route_match
2013-03-24 20:42:40 -05:00
Loïc Hoguin
66f7c15c4d
Add a guide section for resource links
2013-03-22 19:59:35 +01:00
Loïc Hoguin
cc507789bf
Update to 0.8.2
2013-03-09 15:10:52 +01:00
Loïc Hoguin
ed05627b88
Update CHANGELOG
2013-03-09 15:09:21 +01:00
Loïc Hoguin
a818f61679
Update AUTHORS
2013-03-09 14:45:15 +01:00
Loïc Hoguin
e16fae1196
Update Ranch to 0.6.2
2013-03-06 20:19:15 +01:00
Loïc Hoguin
fddd4a77fb
Merge branch 'check-body-length' of git://github.com/rambocoder/cowboy
2013-03-06 17:50:53 +01:00
Loïc Hoguin
a930f4ab26
Stop using binary:match in cowboy_protocol
...
It's been found slower than a custom equivalent to what we were
using it for. As this is the critical path we prefer the custom
solution.
2013-03-06 17:43:04 +01:00
rambocoder
84d7671e91
Check the length before reading the body in body/1 and body_qs/1
2013-03-06 08:50:45 -05:00
Loïc Hoguin
233cf43ab9
Make streamed chunk size configurable
...
Defaults to a maximum of 1000000 bytes.
Also standardize the te_identity and te_chunked decoding functions.
Now they both try to read as much as possible (up to the limit),
making body reading much faster when not using chunked encoding.
2013-03-05 21:54:35 +01:00
Loïc Hoguin
55e98f4f61
Handle identity transfer-encoding when determining body length
2013-03-05 14:08:44 +01:00
Loïc Hoguin
7d13391d39
Merge branch 'param_all' of git://github.com/nevar/cowboy
2013-03-03 19:15:54 +01:00
Slava Yurin
bb1362c744
Add '*' matcher for parameters
...
For get_type_provided:
'*' will be match any parameters of media-range in "accept" header.
If '*' matched, then '*' is replaced by the matching parameters.
If Accept header is missing and '*' using, then in media_type in parameters
will be '*' and reply content-type will be without any parameters.
For content_types_accepted:
'*' will be match any parameters in "content-type" header.
2013-03-03 22:54:37 +07:00
Loïc Hoguin
dbc1bc6d91
Allow overriding ERLC_OPTS
2013-03-02 20:59:05 +01:00
Loïc Hoguin
a165a0bf46
Describe arguments of the HTTP handler callbacks
2013-03-02 20:33:22 +01:00
Loïc Hoguin
8c54c048f2
Explain what are listeners and acceptors in Getting Started
2013-03-02 20:21:02 +01:00
Loïc Hoguin
a795b34f46
Add a simple README in the doc folder for guidance
2013-03-02 20:16:06 +01:00
Loïc Hoguin
489073265f
Disable cover in tests by default
2013-03-02 16:28:13 +01:00