1. 19 Mar, 2022 1 commit
    • Stan Hu's avatar
      Upgrade rack-proxy to v0.7.2 · b3734e7b
      Stan Hu authored
      This fixes a bug that manifested with the `webpack-dev-server` and the
      `thin` Web server.
      
      When a chunked transfer is proxied from rack-proxy, the proxied HTTP
      response would contain the original `Transfer-Encoding: chunked` HTTP
      header. However, the body would be stripped of the chunked encoding
      headers. As a result, Workhorse would fail to parse the body with the
      error:
      
      ```
      httputil: ReverseProxy read error during body copy: invalid byte in
      chunk length
      ```
      
      This occurred because the Golang chunked decoder expected to parse a
      length represented as an ASCII number followed by a `\r\n`. Instead,
      the first byte was a binary character from the gzipped data.
      
      This does not occur with Puma because Puma initiates a request with an
      HTTP/1.0 header and explicitly disables chunked transfers.
      
      https://github.com/ncr/rack-proxy/pull/59 fixes this problem by
      dropping the `Transfer-Encoding: chunked` header so that Workhorse
      won't handle the HTTP response as a chunked transfer.
      
      See https://gitlab.com/gitlab-org/gitlab-development-kit/-/issues/1443
      for more details.
      
      Changelog: fixed
      b3734e7b
  2. 18 Mar, 2022 39 commits