Commits on Jun 14, 2017
  1. Fix a confusing code snippet

    Reported by Jordan Chaitin.
    essen committed Jun 14, 2017
Commits on Jun 9, 2017
  1. Make cowboy_req:read_part return multipart headers as map

    essen committed Jun 9, 2017
Commits on Jun 7, 2017
  1. Remove NumAcceptors argument from start_clear/tls

    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.
    essen committed Jun 7, 2017
Commits on Jun 2, 2017
  1. Fix terminate not being called on connection close in HTTP/1.1

    Introduces the new stream_handler_SUITE test suite. More cases
    will be added later on.
    essen committed Jun 2, 2017
Commits on May 31, 2017
  1. Don't terminate streams that were already terminated

    This and the issues in the last two commits were reported
    by leo2007 on IRC.
    essen committed May 31, 2017
  2. Fix bad accounting of HTTP/2 windows

    The previous code was incorrectly substracting the maximum
    frame size we could send when the data we were actually sending
    was much lower.
    essen committed May 31, 2017
  3. Apply the received SETTINGS frame

    essen committed May 31, 2017
Commits on May 28, 2017
  1. Introduce the req_filter Websocket option

    This option allows customizing the compacting of the Req object
    when using Websocket. By default it will keep most public fields
    excluding headers of course, since those can be large.
    essen committed May 28, 2017
Commits on May 23, 2017
  1. Fix a harmless warning in tests

    essen committed May 23, 2017
  2. Add a test suite for h2spec

    h2spec must be preinstalled on the machine and its location
    pointed at by the H2SPEC environment variable.
    essen committed May 23, 2017
Commits on May 20, 2017
Commits on May 19, 2017
  1. Update to 2.0.0-pre.9

    essen committed May 19, 2017
  2. Preliminary h2 flow control support

    Existing tests pass. A number of things remain to be done.
    Has only been tested with Gun so far. Feedback welcome!
    essen committed May 19, 2017
Commits on May 7, 2017
  1. make set_env working with maps.

    snar committed with essen Nov 2, 2016
  2. Add a test for cowboy:set_env

    essen committed May 7, 2017
Commits on May 5, 2017
  1. Add test for inactivity_timeout option in cowboy_http2

    The inactivity timeout is used to close the connection in the absence of
    any data from the client.
    Since this is not part or the rfc7540 spec, a new http2_SUITE module has
    been created with a test for the inactivity_timeout.
    Gazler committed with essen Mar 15, 2017
  2. Add OTP 19.3.3 and 20-rc1 to CI; remove OTP 18

    essen committed May 5, 2017
  3. Properly handle 101 upgrade responses for Websocket

    essen committed May 5, 2017
Commits on May 3, 2017
  1. Kill all children processes when terminating the connection

    This is a more or less temporary solution to an existing problem.
    In the future we will need to enforce a shutdown timeout for
    these processes.
    essen committed May 3, 2017
  2. Add the idle_timeout HTTP/1.1 protocol option

    This fixes the connection being dropped because of request_timeout
    despite there being some active streams.
    essen committed May 3, 2017
Commits on Apr 18, 2017
  1. Update Websocket handler docs default timeout

    This was changed from infinity to 60s in
    Gazler committed with essen Apr 6, 2017
  2. Remove an outdated todo comment

    essen committed Apr 18, 2017
  3. Pass the HTTP/2 switch_protocol event to stream handlers

    To accomplish this the code for sending the 101 response was
    moved to the cowboy_http2 module.
    essen committed Apr 18, 2017
  4. Add more RFCs to the specs list

    essen committed Apr 18, 2017
Commits on Apr 10, 2017
  1. Initial cowboy_stream manual

    essen committed Apr 10, 2017
Commits on Mar 27, 2017
  1. Add the early_error cowboy_stream callback

    This callback is called when an error occurs before the request
    (including headers, excluding body) was fully received. The
    init/3 callback will not be called. The callback receives the
    partial Req object (possibly empty), the reason for the error
    and the response command that the server will send. It allows
    you to be aware of the error and possibly modify the response
    before it is sent.
    essen committed Mar 27, 2017
Commits on Mar 20, 2017
  1. Add a guide chapter linking to all specs

    essen committed Mar 20, 2017
Commits on Mar 2, 2017
  1. Add more HTTP/2 tests for RFC7540 4.1 and 4.3

    essen committed Mar 2, 2017
Commits on Feb 26, 2017
  1. Unknown HTTP/2 frames are ignored

    essen committed Feb 26, 2017
Commits on Feb 25, 2017
  1. Add many test cases covering RFC7540 4.2

    These tests cover frame sizes. It's mostly edge cases for sure
    (ie misbehaving clients and us having to reject them properly).
    I had these almost ready for a long time, so I'm glad I can
    push them out.
    This requires updating Cowlib too (we currently track master).
    essen committed Feb 25, 2017