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

871 commits

Author SHA1 Message Date
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
Loïc Hoguin
e3daf439da Properly pass the handler's state to websocket_terminate/3 on close 2013-02-14 19:26:46 +01:00
Loïc Hoguin
1df271a35b Merge branch 'has_body_improved' of git://github.com/0xAX/cowboy 2013-02-14 18:35:53 +01:00
Loïc Hoguin
bc340478c8 Merge branch 'fix/websocket_callback_specs' of git://github.com/keynslug/cowboy 2013-02-14 18:15:18 +01:00
Loïc Hoguin
0218249c21 Merge branch 'native_compile' of git://github.com/acammack/cowboy 2013-02-14 17:50:49 +01:00
0xAX
1de2e1f2a4 cowbot_req:has_body:/1 improved 2013-02-14 18:56:52 +06:00
Adam Cammack
7f0c6bbb39 Make cowboy_websocket.erl compile with +native
Worked until cccc0bc
2013-02-13 11:32:35 -06:00
Andrew Majorov
b44ccf59e6 Update websocket handler callback specs
There are some additional terminate reasons exist which are not mentioned
in the specs.
2013-02-13 18:24:02 +04:00
Adam Cammack
b903aca33d Make cowboy_http.erl compile with +native
Worked until 27da092
2013-02-12 11:53:47 -06:00
Loïc Hoguin
46cce48143 Update to 0.8.0 2013-02-12 18:05:52 +01:00
Loïc Hoguin
f9c3b36847 Make cowboy_protocol:resume/6 private 2013-02-12 18:05:18 +01:00
Loïc Hoguin
20329a6e9e Fix connection state being ignored for unknown length streaming 2013-02-12 17:15:11 +01:00
Loïc Hoguin
bce7b860ee Merge branch 'static_doc' of git://github.com/acammack/cowboy 2013-02-12 14:06:54 +01:00
Adam Cammack
6575ceb0dd Fix examples in cowboy_static edoc and guide 2013-02-11 09:44:25 -06:00
Loïc Hoguin
40b8d0befc Better handle socket closing with loop handlers
We now read from the socket to be able to detect errors or TCP close
events, and buffer the data if any. Once the data receive goes over
a certain limit, which defaults to 5000 bytes, we simply close the
connection with an {error, overflow} reason.
2013-02-11 09:03:13 +01:00
Loïc Hoguin
65ed13d2da Do not reset the connection timeout timer on send
Sends can be successful even if the connection is gone.
2013-02-09 21:46:05 +01:00
Loïc Hoguin
26935cbfb0 Make sure rest_terminate is always called
Also improves error reporting.
2013-02-09 17:05:28 +01:00
Slava Yurin
7ca591a0da Fix Location header
Fix #414
2013-02-09 11:19:25 +07:00
Loïc Hoguin
ae401f7460 Fix crashes when creating the request
We now obtain the peer address before creating the Req object.
If an error occurs, then something went wrong, we close the connection
nicely directly.
2013-02-06 23:32:31 +01:00
Loïc Hoguin
1c5ce11d13 Strip whitespaces when authorization type is unknown 2013-02-06 19:16:06 +01:00
Loïc Hoguin
ecb234693c Merge branch 'expose-to_upper' of git://github.com/dvv/cowboy 2013-02-06 18:52:56 +01:00