diff options
author | Stanislav Gospodinov <sani9706@gmail.com> | 2017-07-06 19:14:10 +0100 |
---|---|---|
committer | Stanislav Gospodinov <sani9706@gmail.com> | 2017-07-06 19:14:10 +0100 |
commit | d065a6861664ee92f1fd7a9ffbef5427df2463c1 (patch) | |
tree | 5ebd7c1b6b05b87384b2309ba6233a713a92265f /lib/active_storage | |
parent | 1378bbfcfb56f02dab3fab3e87a9c3ed007e7fd9 (diff) | |
download | rails-d065a6861664ee92f1fd7a9ffbef5427df2463c1.tar.gz rails-d065a6861664ee92f1fd7a9ffbef5427df2463c1.tar.bz2 rails-d065a6861664ee92f1fd7a9ffbef5427df2463c1.zip |
Adding server side integrity check for GCS Service
Diffstat (limited to 'lib/active_storage')
-rw-r--r-- | lib/active_storage/service/gcs_service.rb | 7 |
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 |