0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-15 12:40:25 +00:00
Commit graph

1091 commits

Author SHA1 Message Date
Loïc Hoguin
9ccfbb66ef Merge branch 'remove_asserts' of git://github.com/Egobrain/cowboy 2013-04-26 15:13:24 +02:00
Egobrain
3bf5b46786 Removed asserts from unit tests 2013-04-26 17:08:53 +04:00
Loïc Hoguin
e73780975c Merge branch 'pr-381-fix' of git://github.com/seletskiy/cowboy 2013-04-26 13:45:47 +02:00
Seletskiy Stanislav
72a9ccacdd Fix indenting issues in cowboy_rest.erl 2013-04-26 18:34:10 +07:00
Seletskiy Stanislav
f316b47d13 Add default CTP: "text/html" maps to to_html 2013-04-26 18:34:01 +07:00
Loïc Hoguin
61b3157ad1 Cookie names are case sensitive
This should be more in line with what browsers are doing,
and will prevent errors due to failed expectations.
2013-04-25 21:07:04 +02:00
Loïc Hoguin
cf0e005894 Fix an outdated comment 2013-04-22 14:54:22 +02:00
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
8d7350fa84 Build Allow header with a binary comprehension 2013-04-15 22:15:45 +02: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
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
Vladimir Dronnikov
180143f9b2 rest: reject incorrect content-type header 2013-04-12 14:58:08 +04:00
Andrzej Sliwa
1ff1ac85cd missing comma in documentation of static examples 2013-04-12 08:26:44 +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
2a98ae05e3 Merge branch 'fix/sendfile-error-handling' of git://github.com/soundrop/cowboy 2013-04-11 23:14:27 +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
Loïc Hoguin
7de1d9d3d5 Update to 0.8.3 2013-04-03 13:50:51 +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
cc507789bf Update to 0.8.2 2013-03-09 15:10:52 +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
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
23b3b038e9 Fix cowboy_router types 2013-03-02 00:02:05 +01:00
Loïc Hoguin
dee7a8d3e1 Make path check cross-platform and generally safer 2013-03-01 13:54:47 +01:00
Loïc Hoguin
62e2635d8e Optimize cowboy_static:rest_init/2 2013-02-27 23:20:55 +01:00
Loïc Hoguin
87017e9699 Remove extraneous newlines in cowboy_static 2013-02-27 18:46:30 +01:00
Loïc Hoguin
02ed254daa Fix an incorrect comment in cowboy_router 2013-02-27 12:40:24 +01:00
James Fish
b61f535134 Fix to prevent loop handler awakening immediately after response sent
If a loop handler sent a response (e.g. cowboy_req:chunked_reply/2,/3)
and then returns {loop, Req, HandlerState, hibernate} it
would have a {cowboy_req, resp_sent} message in its message queue. This
message would cause the process to immediately awaken, so it is flushed
before hibernation.
2013-02-22 18:36:13 +00:00
Loïc Hoguin
6884a4949b Update to 0.8.1 2013-02-22 15:35:56 +01:00
Egobrain
73c718dcb5 Added warn compile options. Fixed compile warnings. 2013-02-21 18:32:23 +04:00
Loïc Hoguin
b2ffff9bec Add cowboy:set_env/3 2013-02-20 12:14:21 +01:00
Loïc Hoguin
1f59607b7a Merge branch 'fix-handler-spec' of git://github.com/fishcakez/cowboy 2013-02-17 22:25:19 +01:00
Loïc Hoguin
d4ed41e79b Merge branch 'sub_protocol-behaviour' of git://github.com/fishcakez/cowboy 2013-02-17 22:17:03 +01:00
James Fish
c42e672dd0 Fix {suspend, ...} specs to use atom() for function name 2013-02-17 02:11:45 +00:00
James Fish
6d67ad809c Add sub protocol behaviour 2013-02-16 16:19:53 +00:00
Andrew Majorov
3ea855137c Make sure socket is passive once we've done with loop handler
It is sometimes important to make a socket passive as it was initially
and as it is expected to be by cowboy_protocol, right after we've done
with loop handling.
2013-02-15 15:34:01 +04:00