aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Claghorn <george.claghorn@gmail.com>2017-07-06 14:23:25 -0400
committerGitHub <noreply@github.com>2017-07-06 14:23:25 -0400
commite08c2b231fa2bdb11100563969bdc1b02f53adac (patch)
tree5ebd7c1b6b05b87384b2309ba6233a713a92265f
parent1378bbfcfb56f02dab3fab3e87a9c3ed007e7fd9 (diff)
parentd065a6861664ee92f1fd7a9ffbef5427df2463c1 (diff)
downloadrails-e08c2b231fa2bdb11100563969bdc1b02f53adac.tar.gz
rails-e08c2b231fa2bdb11100563969bdc1b02f53adac.tar.bz2
rails-e08c2b231fa2bdb11100563969bdc1b02f53adac.zip
Merge pull request #5 from SGospodinov/master
Adding server-side integrity check for GCS Service
-rw-r--r--lib/active_storage/service/gcs_service.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/active_storage/service/gcs_service.rb b/lib/active_storage/service/gcs_service.rb
index a558791d89..532da08df3 100644
--- a/lib/active_storage/service/gcs_service.rb
+++ b/lib/active_storage/service/gcs_service.rb
@@ -10,8 +10,11 @@ class ActiveStorage::Service::GCSService < ActiveStorage::Service
end
def upload(key, io, checksum: nil)
- # FIXME: Ensure integrity by sending the checksum for service side verification
- bucket.create_file(io, key)
+ begin
+ bucket.create_file(io, key, md5: checksum)
+ rescue Google::Cloud::InvalidArgumentError
+ raise ActiveStorage::IntegrityError
+ end
end
# FIXME: Add streaming when given a block