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