1. 02 Jun, 2020 1 commit
    • Nick Thomas's avatar
      Test the behaviour of SendURL with less-common upstreams · c21c2cbf
      Nick Thomas authored
      Two cases in particular, lacking a `Content-Type`,  gave us trouble:
      
      * Transfer-Encoding: chunked
      * No content-type and no transfer-encoding
      
      Both of these are permitted by the HTTP RFC (cases 3 and 7), and we
      can talk to arbitrary HTTP servers via sendurl, so it's imperative that
      we handle them correctly. This commit adds tests for both cases.
      
      Responses of the latter type are transparently converted to responses
      of the former type. This is an automatic behaviour of the Go stdlib,
      which doesn't really support making the second type of response
      directly. Since Transfer-Encoding is a hop-by-hop header, this type of
      encoding is extremely common, and we're still streaming, instead of
      accumulating, the data, I think this is acceptable.
      c21c2cbf
  2. 18 May, 2020 1 commit
    • Sami Hiltunen's avatar
      delay PostUploadPack response until request is fully read · 2fe99f66
      Sami Hiltunen authored
      Git and Gitaly stream upload-pack response data as soon as it is
      available. Some HTTP clients do not support the response being streamed
      back while the server is still reading from the request body. To avoid
      this, the request was buffered in to a temporary file before passing it
      to Gitaly for handling. The buffer had a maximum size of 10MB, which is
      now reached by requests to large repositories. These requests were then
      truncated, causing Git to fail.
      
      This commit fixes the problem by removing the request buffering and the
      maximum size. Instead, the response is buffered in to a temporary file
      until the request body is fully read, thus avoiding the problem of
      streaming the request and the response simultaneously.
      2fe99f66
  3. 30 Sep, 2019 1 commit
  4. 12 Aug, 2019 1 commit
  5. 24 Jul, 2019 1 commit
  6. 25 Jun, 2019 1 commit
  7. 10 Apr, 2019 1 commit
    • Stan Hu's avatar
      Remove duplicate X-Request-Id response header · d44f2fb6
      Stan Hu authored
      This fixes performance bar not working with AJAX requests.
      
      Both LabKit and Rails were injecting duplicate X-Request-Id headers into
      the response stream, which caused the frontend to be interpret the value
      as a comma-separated value (e.g. LdEgVXsp1R4, LdEgVXsp1R4).
      
      The new flow behaves as the following:
      
      1. Workhorse injects X-Request-Id to the inbound HTTP request to Rails
      2. Rails looks up this value in its RequestId middleware. Since the
      value exists, Rails sets the X-Request-Id response header to this value.
      3. Workhorse doesn't append another header in the response.
      
      Distributed tracing should still work fine because Workhorse still
      generates the correlation ID.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/60111
      d44f2fb6
  8. 31 Jan, 2019 1 commit
  9. 10 Jan, 2019 1 commit
    • Zeger-Jan van de Weg's avatar
      Update Gitaly to v0.124.0 · 87f1189b
      Zeger-Jan van de Weg authored
      This is a version than includes the new gitaly-proto, which has the
      package name changed. Now gitalypb is used everywhere. The client of
      Gitaly is updated too, as only one proto definition can register a type.
      87f1189b
  10. 11 Dec, 2018 2 commits
  11. 10 Dec, 2018 2 commits
  12. 20 Nov, 2018 1 commit
  13. 19 Oct, 2018 1 commit
  14. 18 Oct, 2018 1 commit
  15. 23 Aug, 2018 1 commit
  16. 31 Jul, 2018 2 commits
  17. 09 Apr, 2018 1 commit
  18. 01 Mar, 2018 1 commit
  19. 05 Feb, 2018 1 commit
  20. 22 Sep, 2017 1 commit
  21. 16 Aug, 2017 1 commit
  22. 28 Jun, 2017 1 commit
  23. 20 Jun, 2017 1 commit
  24. 09 Jun, 2017 1 commit
  25. 25 May, 2017 1 commit
  26. 18 Apr, 2017 1 commit
  27. 10 Apr, 2017 1 commit
  28. 05 Apr, 2017 2 commits
  29. 04 Apr, 2017 1 commit
  30. 03 Apr, 2017 1 commit
  31. 31 Mar, 2017 1 commit
  32. 30 Mar, 2017 2 commits
  33. 23 Mar, 2017 1 commit
  34. 28 Feb, 2017 1 commit
  35. 09 Feb, 2017 1 commit