Permalink
Commits on Sep 15, 2017
  1. Cowboy 2.0.0-rc.3

    essen committed Sep 15, 2017
  2. Add OTP 20.0.5 to CI

    essen committed Sep 15, 2017
Commits on Sep 14, 2017
  1. Fix propagating the stacktrace on errors for OTP 19

    essen committed Sep 14, 2017
  2. Rework the proc_lib_hack

    essen committed Sep 14, 2017
    It is completely removed for connection processes, because
    assuming Cowboy is written properly this should bring us
    nothing anymore in 2.0.
    
    It is reworked for request processes, there we want to
    always propagate the stacktrace (including for exits)
    because we will print a report to help with debugging
    and proc_lib doesn't propagate it for exits.
    
    At the same time the initial callback for connection
    and request processes has been changed to connection_process
    and request_process, which should help with identifying
    processes when inspecting.
  3. Improve how we detect request errors

    essen committed Sep 14, 2017
    When the request process exits with a {request_error, Reason, Human}
    exit reason, Cowboy will return a 400 status code instead of 500.
    Cowboy may also return a more specific status code depending on
    the error. Currently it may also return 408 or 413.
    
    This should prove to be more solid that looking inside the stack
    trace.
Commits on Sep 5, 2017
  1. Update naming in REST flowcharts

    essen committed Sep 5, 2017
  2. Add tests for direct Req access

    essen committed Sep 5, 2017
  3. Remove transfer-encoding parsing from cowboy_req

    essen committed Sep 5, 2017
    The header never reaches this point.
  4. Remove an unused variable

    essen committed Sep 5, 2017
Commits on Sep 4, 2017
  1. Accept sendfile tuple with 0 length in cowboy_req

    essen committed Sep 4, 2017
    This will result in no data being sent. It's simply easier to
    do this than to have to handle 0 size cases in user code.
  2. Alphabetical order some tests

    essen committed Sep 4, 2017
  3. Fix more documentation todos

    essen committed Sep 4, 2017
    I have decided not to include a manual page for
    cowboy_stream_h at this point because it clashes
    with the cowboy_stream manual page. This decision
    will be revisited in the future.
Commits on Aug 29, 2017
  1. Add OTP 20.0.4 to CI

    essen committed Aug 29, 2017
Commits on Aug 23, 2017
  1. Cowboy 2.0.0-rc.2

    essen committed Aug 23, 2017
Commits on Aug 21, 2017
  1. Tentative fix for out of order queued data

    essen committed Aug 21, 2017
  2. Properly clean up timers when terminating

    essen committed Aug 21, 2017
Commits on Aug 14, 2017
  1. Add tests for the streams shutdown mechanism

    essen committed Aug 14, 2017
Commits on Aug 9, 2017
Commits on Aug 8, 2017
  1. Add missing cowboy_children module

    essen committed Aug 8, 2017
    My bad! Still new at this.
  2. Add OTP-20.0.2 to CI

    essen committed Aug 8, 2017
  3. Implement the shutdown timeout for request processes

    essen committed Aug 8, 2017
    This should work very similar to normal supervisors,
    in particular during the shutdown sequence when the
    connection process goes down or switches to Websocket.
    
    Processes that need to enforce the shutdown timeout
    will be required to trap exits, just like in a supervisor.
    In a vanilla Cowboy, this only matters at connection
    shutdown, as Cowboy will otherwise wait for the request
    process to be down before stopping the stream.
    
    Tests are currently missing.
Commits on Jul 26, 2017
  1. Fix HTTP/2 server push

    essen committed Jul 26, 2017
    Cowboy was encoding the headers then decoding them when initializing
    the request. The problem is that the encoding and decoding contexts
    are not the same. Now, Cowboy will directly use the headers it
    received in the push command for the new request. This is also
    more efficient.
    
    I am surprised it worked at all considering the issue.
Commits on Jul 24, 2017
  1. Update version to 2.0.0-rc.1

    essen committed Jul 24, 2017
  2. Small tweak to the guide

    essen committed Jul 24, 2017
Commits on Jul 23, 2017
  1. Write an initial draft of the streams chapter

    essen committed Jul 23, 2017
  2. Remove yet another outdated todo

    essen committed Jul 23, 2017
  3. Update the constraints chapter

    essen committed Jul 23, 2017
  4. Update the flowchart chapter

    essen committed Jul 23, 2017
Commits on Jul 20, 2017
  1. Add a related RFC for Websocket

    essen committed Jul 20, 2017
    This is important because it clarifies that sec-websocket-protocol
    is case sensitive when matching. Only the registry is case
    insensitive.
  2. Remove cowboy_sub_protocol from the documentation

    essen committed Jul 20, 2017
    This will be reintroduced in a future release once the
    interface stabilizes. For the time being it will be an
    internal module only.
Commits on Jul 19, 2017
  1. Remove the guide chapter about broken clients

    essen committed Jul 19, 2017
    None of these workarounds currently exist in Cowboy 2.0.
    We can resurrect the chapter later if it's still necessary,
    once we've added the workarounds back in some other form.