0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 20:30:23 +00:00
Commit graph

843 commits

Author SHA1 Message Date
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