AgeCommit message (Collapse)Author
2018-03-28Tentatively update Cowboy toïc Hoguin
2018-03-28Update Cowlib to 2.2.1Loïc Hoguin
2018-03-28Add max_frame_size option for websocket handlersKirill Kinduk
Option allows to limit a frame by size before decoding its payload. LH: I have added a test for when the limit is reached on a nofin fragmented frame (the last commit addressed that case but it had no test). I have fixed formatting and other, and changed the default value to infinity since it might otherwise be incompatible with existing code. I also added documentation and a bunch of other minor changes.
2018-03-27Remove duplicate keys from map in inform docsGary Rennie
This is the equivalent way of doing the same thing using a single header.
2018-03-27Add the remaining sys testsLoïc Hoguin
2018-03-27Add more sys testsLoïc Hoguin
2018-03-26Fix the flushing of messages when switching to WebsocketLoïc Hoguin
We now flush messages that are specific to cowboy_http only. Stream handlers should also flush their own specific messages if necessary, although timeouts will be flushed regardless of where they originate from. Also renames the http_SUITE to old_http_SUITE to distinguish new tests from old tests. Most old tests need to be removed or converted eventually as they're legacy tests from Cowboy 1.0.
2018-03-23Add initial support for system messages in cowboy_loopLoïc Hoguin
2018-03-23Merge the two separate receive loops in cowboy_websocketLoïc Hoguin
Also rename a bunch of functions to make the code easier to read.
2018-03-23Add RFC 8336 to the listLoïc Hoguin
2018-03-22Update rebar.configLoïc Hoguin
2018-03-14Fix a Dialyzer warningLoïc Hoguin
2018-03-14Add case for handling infinity for idle/request_timeoutBartek Walkowicz
Currently cowboy assumes that idle_timeout or request_timeout is a number and always starts timers. Similar situation takes place in case of preface_timeout for http2. This commit adds case for handling infinity as a timeout, allowing to not start mentioned timers.
2018-03-13Handle system messages in cowboy_websocketLoïc Hoguin
2018-03-13Handle supervisor calls properly everywhereLoïc Hoguin
2018-03-12Initial work on the sys_SUITELoïc Hoguin
There's already tests failing and quite some refactoring to be done to make some things easier to test or fix issues.
2018-03-05Add a test suite for RFC7538; update Cowlib to 2.2.0Loïc Hoguin
This adds the 308 status code and fixes a few small parsing bugs.
2018-02-28Enable ci.erlang.mk only when CI_ERLANG_MK=1 is setLoïc Hoguin
This will avoid issues with other people's build systems.
2018-02-28Fix crash in cowboy_http2 when content-length is invalidLoïc Hoguin
2018-02-15Add a new relevant RFCLoïc Hoguin
2018-02-09Add link to the PROXY protocol to the specsLoïc Hoguin
It's very relevant even though I will probably not implement it.
2018-01-29Add an example with a Websocket close frameLoïc Hoguin
Thanks benbro!
2018-01-29Fix a small issue in the cowboy_req:parse_cookies manualLoïc Hoguin
Thanks benbro!
2018-01-24Update Cowboy toïc Hoguin
2018-01-24Fix sending HTTP/2 bodies as iolists out of orderLoïc Hoguin
2018-01-23Update Cowboy toïc Hoguin
2018-01-23Fix an unused variable warningLoïc Hoguin
2018-01-23Fix a miscount of output flow control window for HTTP/2Loïc Hoguin
The miscount occurred because of a faulty iolist split function. The bug should now be corrected, a PropEr test has been added and a regression test has also been added.
2018-01-22Don't crash in delete_resp_header if no resp headers are setLoïc Hoguin
2018-01-16Allow colon within path segmentsPaul Fisher
Allow `cowboy_router:compile` to handle colon characters within path segments, rather than exiting with `badarg`. This is allowed via RFC 7230 2.7 -> [RFC 3986 3.3](https://tools.ietf.org/html/rfc3986#section-3.3): ``` segment = *pchar segment-nz = 1*pchar segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" ) ; non-zero-length segment without any colon ":" pchar = unreserved / pct-encoded / sub-delims / ":" / "@" ```
2018-01-02Add RFC 8297 to the listLoïc Hoguin
2017-12-13Document the missing inform stream handler command2.2.0Loïc Hoguin
2017-12-13Fix Dialyzer warningsLoïc Hoguin
2017-12-12Don't badmatch on HTTP/2 preface's Transport:sendLoïc Hoguin
Send errors produce annoying logs and we notice the connection is gone later on anyway.
2017-12-12Fix HTTP/1.1 pipeliningLoïc Hoguin
Cases where a request body was involved could sometimes fail depending on timing. Also fix all of the old http_SUITE tests.
2017-12-11Fix how we require HTTP/1.0 from Gun in rfc7231_SUITELoïc Hoguin
2017-12-11Update Cowboy to 2.2.0Loïc Hoguin
2017-12-11Document trailers in the guideLoïc Hoguin
2017-12-11Small documentation tweaksLoïc Hoguin
2017-12-11Document 2.2 changes and the new stream_trailers functionLoïc Hoguin
2017-12-08Add the few remaining tests to the rfc7231 test suiteLoïc Hoguin
2017-12-07Add more rfc7231 tests and a new max_skip_body_length optionLoïc Hoguin
The option controls how much body we accept to skip for HTTP/1.1 connections when the user code did not consume the body fully. It defaults to 1MB.
2017-12-06Send a 426 when Websocket is required and client didn't upgradeLoïc Hoguin
2017-12-06Fix 408 not sending connection: close for HTTP/1.1Loïc Hoguin
Also make sure the header is sent for all types of early_error that result in the closing of the connection.
2017-12-06Add more rfc7231 testsLoïc Hoguin
2017-12-06Properly handle OPTIONS * requestsLoïc Hoguin
Support for these was broken during the development of Cowboy 2.0. It is now fixed and better handled than it ever was.
2017-12-06Also disable the TRACE method entirelyLoïc Hoguin
2017-12-06Disable the CONNECT method completelyLoïc Hoguin
It's safer than allow it with the wrong behavior.
2017-12-04Add an rfc7231 test suite, fix an HTTP/2 bug with HEADLoïc Hoguin
In some cases there could be a body sent as a response to a HEAD request when using HTTP/2. This has been corrected.
2017-11-30Fix HTTP/2 pushLoïc Hoguin