Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-12-06 | Fix 408 not sending connection: close for HTTP/1.1 | Loï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-06 | Add more rfc7231 tests | Loïc Hoguin | |
2017-12-06 | Properly handle OPTIONS * requests | Loï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-06 | Also disable the TRACE method entirely | Loïc Hoguin | |
2017-12-06 | Disable the CONNECT method completely | Loïc Hoguin | |
It's safer than allow it with the wrong behavior. | |||
2017-12-04 | Add an rfc7231 test suite, fix an HTTP/2 bug with HEAD | Loï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-30 | Fix HTTP/2 push | Loïc Hoguin | |
2017-11-29 | Don't send chunked bodies when the method is HEAD | Loïc Hoguin | |
2017-11-29 | Don't include a content-length in 204 responses | Loïc Hoguin | |
2017-11-29 | Reject absolute URIs with no authority components | Loïc Hoguin | |
2017-11-29 | Reject absolute URIs with userinfo components in HTTP/1.1 | Loïc Hoguin | |
2017-11-29 | Fix a test description | Loïc Hoguin | |
2017-11-29 | Fix many rfc7230 tests that were echoing the URI | Loïc Hoguin | |
2017-11-29 | Reject whitespace before/after HTTP/1.1 header names properly | Loïc Hoguin | |
2017-11-29 | Fix a broken test case in the rfc7540 suite | Loïc Hoguin | |
2017-11-29 | Don't send a GOAWAY frame on close when the h2 preface is invalid | Loïc Hoguin | |
2017-11-29 | Fix an intermittent test failure in the rfc7540 suite | Loïc Hoguin | |
2017-11-29 | Remove two warnings in test suites | Loïc Hoguin | |
2017-11-29 | Add nowarn_export_all to all test suites | Loïc Hoguin | |
2017-11-29 | Ignore stray HTTP/2 stream messages that we expect | Loïc Hoguin | |
2017-11-29 | Add many rfc7540 tests, improve detection of malformed requests | Loïc Hoguin | |
2017-11-27 | Add more flow control tests to rfc7540 and fix related issues | Loïc Hoguin | |
2017-11-27 | Add more rfc7540 tests along with their respective fixes | Loïc Hoguin | |
2017-11-27 | Fix a few rfc7540 tests | Loïc Hoguin | |
Cowboy takes a few shortcuts to avoid wasting resources when there is a protocol error. The RFC wants us to send a different error depending on the state of the stream at the time of the error, and for us to maintain the connection in cases where we would have to spend valuable resources to decode headers. In all these cases Cowboy will simply close the connection with an appropriate error. | |||
2017-11-27 | Don't send the response immediately when using h2spec | Loïc Hoguin | |
In some cases we were sending a response faster than h2spec was sending us the test case data, resulting in the request being processed successfully instead of failing as expected. | |||
2017-11-26 | Fix an rfc7230 test | Loïc Hoguin | |
2017-11-24 | Add more tests to the rfc7230 suite | Loïc Hoguin | |
A few more bugs detected. I'm at the end of the list. I need to do a second reading, implement what I can, fix what I can and then the suite should be complete. | |||
2017-11-24 | Add a few more rfc7230 tests | Loïc Hoguin | |
A few seems to highlight more bugs. They have no fix yet. | |||
2017-11-24 | Add more tests to the rfc7230 suite | Loïc Hoguin | |
Found more bugs! Unfortunately no fix for them in this commit. | |||
2017-11-23 | Move the pipeline test to the rfc7230 suite | Loïc Hoguin | |
2017-11-22 | Add more rfc7230 tests and better handle bad chunk sizes | Loïc Hoguin | |
Bad chunk sizes used to be accepted and could result in a badly parsed body or a timeout. They are now properly rejected. Chunk extensions now have a hard limit of 129 characters. I haven't heard of anyone using them and Cowboy does not provide an interface for them, but we can always increase or make configurable if it ever becomes necessary (but I honestly doubt it). Also a test from the old http suite could be removed. Yay! | |||
2017-11-20 | Add more rfc7230 tests and improve transfer-encoding | Loïc Hoguin | |
It's worth noting that transfer-encoding now takes precedence over content-length as recommended by the RFC, so that when both headers are sent we only care about transfer-encoding and explicitly remove content-length from the headers. | |||
2017-11-20 | Add a test for early errors that occur on the request-line | Loïc Hoguin | |
2017-11-20 | Queue HTTP/2 trailers when there's still data in the buffer | Loïc Hoguin | |
2017-11-20 | Improve trailers test when no te header is sent | Loïc Hoguin | |
2017-11-20 | Fix compression when trailers are sent | Loïc Hoguin | |
2017-11-20 | Remove a useless todo | Loïc Hoguin | |
2017-11-20 | Add more rfc7230 tests | Loïc Hoguin | |
Also fixes the handling of the max_headers option for HTTP/1.1. It is now a strict limit and not dependent on whether data is already in the buffer. | |||
2017-11-19 | Remove another test from the old http suite | Loïc Hoguin | |
2017-11-19 | Move tests from old http suite to rfc7230 suite | Loïc Hoguin | |
2017-11-19 | The static suite's large file is not created on Windows | Loïc Hoguin | |
2017-11-19 | Add AUTO_CI_WINDOWS variable | Loïc Hoguin | |
2017-11-18 | Remove duplicate /echo/body_qs tests from the old suite | Loïc Hoguin | |
2017-11-17 | Remove duplicate static handler tests from the old suite | Loïc Hoguin | |
2017-11-17 | Move ci.erlang.mk to TEST_DEPS | Loïc Hoguin | |
2017-11-17 | Disable the tracer suite when compiled natively | Loïc Hoguin | |
2017-11-17 | Initialize trace patterns only once | Loïc Hoguin | |
They are global for the node for all future call trace flags, so it's not necessary to set them repeatedly with every request. Doing it once at startup also ensures we can't have race conditions when the user wants to change which trace patterns should be used (because requests are concurrent and patterns end up overwriting themselves repeatedly), and makes this changing of trace patterns much more straightforward: the user can just define the ones they want. The default function traces everything. In addition I have also added the tracer_flags option to make the trace flags configurable, excluding the tracer pid. | |||
2017-11-17 | Tweak the Makefile | Loïc Hoguin | |
2017-11-15 | Add preliminary support for trailers in responses | Loïc Hoguin | |
This depends on changes in Cowlib that are only available on master. | |||
2017-11-13 | Don't supervise the tracer process | Loïc Hoguin | |
If we do then we end up killing the tracer after the stream terminates and this is not what we want. This prevents us from getting useful information from requests that are still ongoing (when they run concurrently) and completely prevents us from tracing Websocket handlers. I'm not the biggest fan of having unsupervised modules but if this is properly documented there should be no problem. |