From d065a6861664ee92f1fd7a9ffbef5427df2463c1 Mon Sep 17 00:00:00 2001 From: Stanislav Gospodinov Date: Thu, 6 Jul 2017 19:14:10 +0100 Subject: Adding server side integrity check for GCS Service --- lib/active_storage/service/gcs_service.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib') 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 -- cgit v1.2.3 From 1a5219ce87ea6b5d534dd70c0d121c8fa8d2c1f0 Mon Sep 17 00:00:00 2001 From: George Claghorn Date: Thu, 6 Jul 2017 14:25:14 -0400 Subject: Style --- lib/active_storage/service/gcs_service.rb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/active_storage/service/gcs_service.rb b/lib/active_storage/service/gcs_service.rb index 532da08df3..9ac33d68f3 100644 --- a/lib/active_storage/service/gcs_service.rb +++ b/lib/active_storage/service/gcs_service.rb @@ -10,11 +10,9 @@ class ActiveStorage::Service::GCSService < ActiveStorage::Service end def upload(key, io, checksum: nil) - begin - bucket.create_file(io, key, md5: checksum) - rescue Google::Cloud::InvalidArgumentError - raise ActiveStorage::IntegrityError - end + bucket.create_file(io, key, md5: checksum) + rescue Google::Cloud::InvalidArgumentError + raise ActiveStorage::IntegrityError end # FIXME: Add streaming when given a block -- cgit v1.2.3