aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-10-31Improve a few types, including cowboy_req:req()Loïc Hoguin
2018-10-31Always dialyze tests and fix some cowboy_req specsLoïc Hoguin
2018-10-31Fix a test listener not being stoppedLoï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-28Fix the sys trap_exit testsLoïc Hoguin
The processes go down slower now so that caused intermittent issues.
2018-10-28Remove a useless todoLoïc Hoguin
2018-10-28Rename a few functions and shuffle argumentsLoïc Hoguin
2018-10-28Remove an unnecessary functionLoïc Hoguin
2018-10-28Exit gracefully on parent exit/sys:terminate/2,3Loïc Hoguin
2018-10-27Fix small issues introduced in the previous commitLoïc Hoguin
2018-10-27Use cow_http2_machine's timer handlingLoïc Hoguin
2018-10-26Use cow_http2:parse_sequence/1Loïc Hoguin
2018-10-26Switch cowboy_http2 to the new cow_http2_machineLoïc Hoguin
The new module is a merge of the Cowboy and Gun HTTP/2 state machines. Using a common code will help future developments rather than duplicating the work. A notable change is in how streams are terminated when the handler stops before the body is sent. The cowboy_stream:terminate function is now called only after the body has been sent fully (or the stream is reset in-between), not when the stop command is returned. This will most likely have an impact on metrics but will be closer to reality. I had to comment a broken test in rfc7231_SUITE that was cheating, cheating is no longer possible. This depends on Cowlib master for the time being. A new Cowlib version will be released once both Cowboy and Gun are ported to use cow_http2_machine and I'm satisfied with it.
2018-10-26Simplify a case clauseLoïc Hoguin
2018-10-26Add yet another RFC to the listLoïc Hoguin
2018-10-02Fix Cowboy version in the getting started chapter2.5.0Loïc Hoguin
2018-10-02Fix ranch:start_tls when transport options are a mapLoïc Hoguin
2018-10-02Shorten a command in the MakefileLoïc Hoguin
2018-09-26Use gun:info instead of hacks for test socket operationsLoïc Hoguin
2018-09-23Update Ranch to 1.6.2getong
2018-09-23Rename handler modules to _hHerman Singh
2018-09-23Add a spec to the listLoïc Hoguin
2018-09-23Fix stream_handler_SUITE test failures due to compressionLoïc Hoguin
We always compress when streaming the body back to the client regardless of the size actually streamed.
2018-09-23Correct two tests that introspect the Gun stateLoïc Hoguin
It has changed in Gun 1.2.
2018-09-21Rename the HTTP/2 Websocket test suite to rfc8441_SUITELoïc Hoguin
2018-09-21Update Cowlib to 2.6.0Loïc Hoguin
2018-09-21Add the {active, boolean()} Websocket commandLoïc Hoguin
This command is currently not documented. It allows disabling the reading of incoming data from the socket, and can be used as a poor man's flow control.
2018-09-20Remove an outdated note about cowboy_loop timeoutLoïc Hoguin
2018-09-19Add RFC 8441 to the listLoïc Hoguin
2018-09-12Do not send a 101 after a final response in switch_protocolLoïc Hoguin
2018-09-12Prepare the 2.5.0 releaseLoïc Hoguin
2018-09-12Update erlang.mkLoïc Hoguin
2018-09-12Update Cowlib to 2.5.1Loïc Hoguin
2018-09-11Swap the ws and autobahn test groups to run autobahn lastLoïc Hoguin
If there's an error it makes sense to have feedback as early as possible.
2018-09-11Add a commands-based interface to Websocket handlersLoïc Hoguin
This feature is currently experimental. It will become the preferred way to use Websocket handlers once it becomes documented. A commands-based interface enables adding commands without having to change the interface much. It mirrors the interface of stream handlers or gen_statem. It will enable adding commands that have been needed for some time but were not implemented for fear of making the interface too complex.
2018-09-07Add cowboy_req:read_and_match_urlencoded_body/2,3Loïc Hoguin
2018-09-07Fix some grammatical errors in the manualLoïc Hoguin
2018-09-07Add upcoming Clear Site Data draft to the listLoïc Hoguin
2018-08-13See if recompiling ct_helper every time fixes ci buildsLoïc Hoguin
2018-08-13Improve errors for when the ProvideCallback is missingLoïc Hoguin
2018-08-13Update Ranch to 1.6.1Loïc Hoguin
2018-08-13Clarify the DEP_PLUGINS line in the Getting StartedLoïc Hoguin
2018-08-13Fix the infinity timeout testsLoïc Hoguin
Make sure the test fails when the code is incorrect.
2018-08-13Move some test functions off to ct_helperLoïc Hoguin
2018-08-13Fix cancelling undefined settings timerBing Han
when settings_timeout is infinity
2018-08-13Update Erlang.mkLoïc Hoguin
2018-08-06Add missing log command to the commands() typeLoïc Hoguin
2018-08-06Remove an incorrect statement from the guideLoïc Hoguin
2018-07-09Add missing logger spec for cowboy_http2 optsLoïc Hoguin
2018-06-28Introduce undocumented option loggerLoïc Hoguin
This commit reworks the logging that Cowboy does via error_logger to make the module that will do the actual logging configurable. The logger module interface must be the same as logger and lager: a separate function per log level with the same log levels they support. The default behavior remains to call error_logger, although some messages were downgraded to warnings instead of errors. Since error_logger only supports three different log levels, some messages may get downgraded/upgraded depending on what the original log level was to make them compatible with error_logger. The {log, Level, Format, Args} command was also added to stream handlers. Stream handlers should use this command to log messages because it allows writing a stream handler to intercept some of those messages and extract information or block them as necessary. The logger option only applies to Cowboy itself, not to the messages Ranch logs, so more work remains to be done in that area.