940ad0c7a1
Previously, an HTTP request for `/uploads/-/system/personal_snippet/:snippet_id/:hash/:filename` would look for an uploader of `PersonalFileUploader` class and use `PersonalFileUploader#upload_paths` to search the datbase for one of the following paths: 1. `:hash/:filename` 2. `uploads/-/system/personal_snippet/:id/:hash/:filename` However, when the upload were stored in object storage, `PersonalFileUploader#store_dirs` stored the path as: `personal_snippet/:snippet_id/:hash` The extraneous `uploads/-/system` prefix prevented the path from being matched, and uploads in object storage would return a 404 error. Uploads in local storage would work fine. To fix this, we set the `#base_dir` properly so that `#upload_paths` generates the right value for object storage. Note that this also makes `#store_dirs` do the right thing in `FileUploader`. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/52595 |
||
---|---|---|
.. | ||
workers/object_storage | ||
attachment_uploader_spec.rb | ||
avatar_uploader_spec.rb | ||
file_mover_spec.rb | ||
file_uploader_spec.rb | ||
gitlab_uploader_spec.rb | ||
import_export_uploader_spec.rb | ||
job_artifact_uploader_spec.rb | ||
legacy_artifact_uploader_spec.rb | ||
lfs_object_uploader_spec.rb | ||
namespace_file_uploader_spec.rb | ||
object_storage_spec.rb | ||
personal_file_uploader_spec.rb | ||
records_uploads_spec.rb | ||
uploader_helper_spec.rb |