aboutsummaryrefslogtreecommitdiffstats
path: root/rebar.config
AgeCommit message (Collapse)Author
2021-04-24Cowlib 2.11.0 and Ranch 1.8.0Loïc Hoguin
2020-11-27Graceful shutdownViktor Söderqvist
Note: This commit makes cowboy depend on cowlib master. Graceful shutdown for HTTP/2: 1. A GOAWAY frame with the last stream id set to 2^31-1 is sent and a timer is started (goaway_initial_timeout, default 1000ms), to wait for any in-flight requests sent by the client, and the status is set to 'closing_initiated'. If the client responds with GOAWAY and closes the connection, we're done. 2. A second GOAWAY frame is sent with the actual last stream id and the status is set to 'closing'. If no streams exist, the connection terminates. Otherwise a second timer (goaway_complete_timeout, default 3000ms) is started, to wait for the streams to complete. New streams are not accepted when status is 'closing'. 3. If all streams haven't completed after the second timeout, the connection is forcefully terminated. Graceful shutdown for HTTP/1.x: 1. If a request is currently being handled, it is waited for and the response is sent back to the client with the header "Connection: close". Then, the connection is closed. 2. If the current request handler is not finished within the time configured in transport option 'shutdown' (default 5000ms), the connection process is killed by its supervisor (ranch). Implemented for HTTP/1.x and HTTP/2 in the following scenarios: * When receiving exit signal 'shutdown' from the supervisor (e.g. when cowboy:stop_listener/3 is called). * When a connection process is requested to terminate using sys:terminate/2,3. LH: Edited tests a bit and added todos for useful tests to add.
2020-04-02Update rebar.configLoïc Hoguin
2020-03-30Update Cowlib to 2.9.0Loïc Hoguin
2019-10-10Cowboy 2.7.0Loïc Hoguin
2019-09-05Fix and optimize sending of WINDOW_UPDATE framesLoïc Hoguin
For long-running connections it was possible for the connection window to become larger than allowed by the protocol because the window increases claimed by stream handlers were never reclaimed even if no data was consumed. The new code applies heuristics to fix this and reduce the number of WINDOW_UPDATE frames that are sent. It includes six new options to control that behavior: margin, max and threshold for both the connection and stream windows. The margin is some extra space added on top of the requested read size. The max is the maximum window size at any given time. The threshold is a minimum window size that must be reached before we even consider sending more WINDOW_UPDATE frames. We also avoid sending WINDOW_UPDATE frames when there is already enough space in the window, or when the read size is 0. Cowlib is set to master until a new tag is done.
2019-04-05Cowboy 2.6.32.6.3Loïc Hoguin
2019-04-04Cowboy 2.6.22.6.2Loïc Hoguin
Updates Cowlib to 2.7.2.
2018-11-28Update Ranch to 1.7.1Loïc Hoguin
2018-11-17Prepare the Cowboy 2.6 releaseLoïc Hoguin
2018-11-14Ranch 1.7.0Loïc Hoguin
2018-10-30Initial support for the PROXY protocol headerLoïc Hoguin
Depend on Ranch master for now since it isn't in any release yet.
2018-10-27Use cow_http2_machine's timer handlingLoïc Hoguin
2018-09-23Update Ranch to 1.6.2getong
2018-09-21Update Cowlib to 2.6.0Loïc Hoguin
2018-09-12Update Cowlib to 2.5.1Loïc Hoguin
2018-08-13Update Ranch to 1.6.1Loïc Hoguin
2018-05-16Update erlang.mk and rebar.configLoïc Hoguin
2018-04-30Update Cowlib to 2.3.0Loïc Hoguin
2018-04-10Update Ranch to 1.5.0Loïc Hoguin
2018-04-06Depend on Cowlib master for nowLoïc Hoguin
2018-03-28Update Cowlib to 2.2.1Loïc Hoguin
2018-03-22Update rebar.configLoïc Hoguin
2017-12-11Update Cowboy to 2.2.0Loïc Hoguin
2017-11-17Tweak the MakefileLoïc Hoguin
2017-11-01Update Cowlib to 2.0.1 and fix OTP 20.1+ Websocket compressionLoïc Hoguin
Unfortunately compression will be disabled for 20.1, 20.1.1 and 20.1.2. In additiona I do not recommend 20.1.3 due to issues inflating some specific sizes.
2017-10-03Update version, CI and Cowlib dependency versionLoïc Hoguin
Hello 2.0.0!
2017-07-19Update rebar.configLoïc Hoguin
2017-06-07Remove NumAcceptors argument from start_clear/tlsLoïc Hoguin
They are now cowboy:start_clear/3 and cowboy:start_tls/3. The NumAcceptors argument can be specified via the num_acceptor transport option. Ranch has been updated to 1.4.0 to that effect.
2017-01-03Update rebar.config2.0.0-pre.4Loïc Hoguin
2016-11-05Partially update manual for the cowboy_reqLoïc Hoguin
Only the access functions have been modified so far.
2016-03-13Fix more HTTP/2 handshake test casesLoïc Hoguin
2015-11-16Update Erlang.mkLoïc Hoguin
2015-07-05Use HTTPS dependencies when using RebarAlexander Færøy
2015-05-06Update Cowlib to 1.3.0Juan Puig
2015-03-06Update Cowlib to 1.2.0; adds Websocket permessage-deflateLoïc Hoguin
The Websocket text frames should also be less resource intensive to validate now, with a binary concatenation avoided.
2015-02-16Use cow_ws for the Websocket parsing codeLoïc Hoguin
Updates Cowlib to 1.1.0
2014-08-02Update links extend -> nineninesLoïc Hoguin
2014-08-01Update rebar.configLoïc Hoguin
2014-06-10Update Ranch to 0.10.0Loïc Hoguin
2014-06-10Update cowlib to 0.6.2Loïc Hoguin
Fixes parsing of Google Analytics cookies.
2014-03-27Update cowlib to 0.6.1Loïc Hoguin
2014-03-25Update rebar.configLoïc Hoguin
2014-02-19Update cowlib to 0.5.1 to fix multipart issuesLoïc Hoguin
2014-02-06Add and document the new multipart codeLoïc Hoguin
The old undocumented API is removed entirely. While a documentation exists for the new API, it will not be considered set in stone until further testing has been performed, and a file upload example has been added. The new API should be a little more efficient than the old API, especially with smaller messages.
2013-11-14Update Ranch to 0.9.0Loïc Hoguin
2013-11-08Optimize query string parsingLoïc Hoguin
* Parsing code was moved to cowlib: cowboy_qs:parse_qs/1 * A function was added to build query strings: cowboy_qs:qs/1 * Also added cowboy_qs:urlencode/1 and cowboy_qsurldecode/1
2013-11-02Review, improve and document the static files handlerLoïc Hoguin
Changes include: * Much simplified route configuration. * Etag generation is now enabled by default. * Web mimetypes are now detected by default. A bigger list of mimetypes can be detected without any additional library. * Mimetypes can no longer be specified as a list. Copying this list for new connections is too costy. You can easily convert it into a function and pass that function to the handler instead. * You can however specify a single hardcoded mimetype. Mostly useful when serving a single file, like an index.html file, to avoid extra operations. * Specifying a path as a list of tokens is not possible anymore. Use either a binary or a string. * Using a private directory will not work if the application was not started properly. Cowboy will not attempt to find the location of this directory if the VM doesn't know it, as this caused issues in some setups. * Overall the code has been much simplified and clarified, and of course has now been documented.
2013-10-23Move cookie parsing/building code to cowlibLoïc Hoguin
The code for parsing has also been rewritten to be more efficient and to be able to handle cookie values with space inside them properly. Update cowlib to 0.2.0.
2013-09-04Make cowlib a proper dependencyLoïc Hoguin
Start moving a few functions from Cowboy into cowlib.