diff options
author | Alessio Caiazza <acaiazza@gitlab.com> | 2019-09-02 18:41:18 +0200 |
---|---|---|
committer | Alessio Caiazza <acaiazza@gitlab.com> | 2019-09-06 15:53:13 +0200 |
commit | e32069ef6cb569c11e792dadacc4713871325d9d (patch) | |
tree | f138987f7499048bdc590436645083add2e9f0ec /lib/api/wikis.rb | |
parent | 222d9e62f2f88b01542bea0890fb8fba816f83a5 (diff) | |
download | gitlab-ce-e32069ef6cb569c11e792dadacc4713871325d9d.tar.gz |
Process workhorse accelerated wiki uploads
Wiki attachments can be workhorse accelerated.
This commit is backward compatible with older workhorse
Diffstat (limited to 'lib/api/wikis.rb')
-rw-r--r-- | lib/api/wikis.rb | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/lib/api/wikis.rb b/lib/api/wikis.rb index 5724adb2c40..c5a5488950d 100644 --- a/lib/api/wikis.rb +++ b/lib/api/wikis.rb @@ -4,11 +4,21 @@ module API class Wikis < Grape::API helpers do def commit_params(attrs) - { - file_name: attrs[:file][:filename], - file_content: attrs[:file][:tempfile].read, - branch_name: attrs[:branch] - } + # In order to avoid service disruption this can work with an old workhorse without the acceleration + # the first branch of this if must be removed when we drop support for non accelerated uploads + if attrs[:file].is_a?(Hash) + { + file_name: attrs[:file][:filename], + file_content: attrs[:file][:tempfile].read, + branch_name: attrs[:branch] + } + else + { + file_name: attrs[:file].original_filename, + file_content: attrs[:file].read, + branch_name: attrs[:branch] + } + end end params :common_wiki_page_params do @@ -106,7 +116,7 @@ module API success Entities::WikiAttachment end params do - requires :file, type: ::API::Validations::Types::SafeFile, desc: 'The attachment file to be uploaded' + requires :file, types: [::API::Validations::Types::SafeFile, ::API::Validations::Types::WorkhorseFile], desc: 'The attachment file to be uploaded' optional :branch, type: String, desc: 'The name of the branch' end post ":id/wikis/attachments" do |