Skip to content
代码片段 群组 项目
该项目从 https://gitlab.com/gitlab-org/gitlab.git 镜像。 拉取镜像更新于
  1. 9月 29, 2020
  2. 9月 23, 2020
  3. 9月 17, 2020
  4. 9月 14, 2020
  5. 9月 03, 2020
  6. 9月 02, 2020
  7. 8月 28, 2020
  8. 8月 21, 2020
  9. 8月 19, 2020
  10. 8月 13, 2020
    • Stan Hu's avatar
      Refactor uploaders to use different upload strategies · cb807306
      Stan Hu 创作于
      Previously it was particularly tricky to add a new object storage method
      because you had to be aware of how to deal with different Goroutines and
      contexts to handle the Workhorse upload flow
      (https://docs.gitlab.com/ee/development/uploads.html#direct-upload). In
      addition, the execution engine to handle this was duplicated across
      multiple files. The execution engine essentially did the following:
      
      1. Set up an upload context with a deadline
      2. Record upload metrics
      3. Initialize cleanup functions
      4. Initiate upload
      5. Validate upload ETag
      6. Do cleanup (e.g. delete the temporary file)
      
      To reduce code duplication and to make it easier to add new object
      stores, the common execution sequence is now encapsulated in the
      `uploader` `Execute()` method. We also introduce an `UploadStrategy`
      interface that handles the details of the uploads, and `Execute()` calls
      methods on this interface.
      
      Now adding a new object storage type is a matter of implementing the
      `UploadStrategy` interface without needing to understand the details of
      the execution engine.
      cb807306
  11. 8月 07, 2020
  12. 5月 30, 2020
  13. 11月 05, 2019
    • Alessio Caiazza's avatar
      Ignore CompleteMultipart ETag · af421a45
      Alessio Caiazza 创作于
      Our ETag comparison on CompleteMultipartUpload was based on a reverse
      engineered protocol.
      
      It is not part of the S3 API specification and not every providers
      compute it in the same way.
      af421a45
  14. 10月 15, 2019
  15. 7月 24, 2019
  16. 6月 05, 2019
  17. 3月 25, 2019
  18. 1月 18, 2019
  19. 11月 30, 2018
  20. 11月 23, 2018
  21. 11月 06, 2018
  22. 9月 04, 2018
    • Stan Hu's avatar
      Support adding PUT headers for object storage from Rails · 7231f85e
      Stan Hu 创作于
      As revealed in https://gitlab.com/gitlab-org/gitlab-ce/issues/49957, Rails
      generates a signed URL with a fixed HTTP header with `Content-Type:
      application/octet-stream`. However, if we change or remove that for
      some reason in Workhorse, this breaks the upload with a 403 Unauthorized because
      the signed URL is not valid.
      
      We can make this more robust by doing the following:
      
      1. In the `/uploads/authorize` request, Rails can return a `StoreHeaders` key-value
      pair in the JSON response containing the required headers that the PUT
      request must include.
      2. Use those HTTP headers if that value is present.
      3. For backwards compatibility, if that key is not present, default to
      the old behavior of sending the fixed `Content-Type` header.
      7231f85e
  23. 8月 23, 2018
  24. 6月 07, 2018
  25. 6月 01, 2018
  26. 5月 22, 2018
  27. 3月 07, 2018
  28. 2月 22, 2018
加载中