Module: Fog::AWS::Storage::Utils
Instance Attribute Summary collapse
-
#disable_content_md5_validation ⇒ Object
Returns the value of attribute disable_content_md5_validation.
-
#max_copy_chunk_size ⇒ Object
readonly
Returns the value of attribute max_copy_chunk_size.
-
#max_put_chunk_size ⇒ Integer
readonly
Amazon S3 limits max chunk size that can be uploaded/copied in a single request to 5GB.
-
#region ⇒ Object
Returns the value of attribute region.
Instance Method Summary collapse
- #cdn ⇒ Object
- #http_url(params, expires) ⇒ Object
- #https_url(params, expires) ⇒ Object
- #request_url(params) ⇒ Object
- #require_mime_types ⇒ Object
- #signed_url(params, expires) ⇒ Object
- #url(params, expires) ⇒ Object
- #validate_chunk_size(value, description) ⇒ Object
Instance Attribute Details
#disable_content_md5_validation ⇒ Object
Returns the value of attribute disable_content_md5_validation.
130 131 132 |
# File 'lib/fog/aws/storage.rb', line 130 def disable_content_md5_validation @disable_content_md5_validation end |
#max_copy_chunk_size ⇒ Object (readonly)
Returns the value of attribute max_copy_chunk_size.
141 142 143 |
# File 'lib/fog/aws/storage.rb', line 141 def max_copy_chunk_size @max_copy_chunk_size end |
#max_put_chunk_size ⇒ Integer (readonly)
Amazon S3 limits max chunk size that can be uploaded/copied in a single request to 5GB. Other S3-compatible storages (like, Ceph) do not have such limit. Ceph shows much better performance when file is copied as a whole, in a single request. fog-aws user can use these settings to configure chunk sizes. A non-positive value will tell fog-aws to use a single put/copy request regardless of file size.
140 141 142 |
# File 'lib/fog/aws/storage.rb', line 140 def max_put_chunk_size @max_put_chunk_size end |
#region ⇒ Object
Returns the value of attribute region.
129 130 131 |
# File 'lib/fog/aws/storage.rb', line 129 def region @region end |
Instance Method Details
#cdn ⇒ Object
143 144 145 146 147 148 149 |
# File 'lib/fog/aws/storage.rb', line 143 def cdn @cdn ||= Fog::AWS::CDN.new( :aws_access_key_id => @aws_access_key_id, :aws_secret_access_key => @aws_secret_access_key, :use_iam_profile => @use_iam_profile ) end |
#http_url(params, expires) ⇒ Object
151 152 153 |
# File 'lib/fog/aws/storage.rb', line 151 def http_url(params, expires) signed_url(params.merge(:scheme => 'http'), expires) end |
#https_url(params, expires) ⇒ Object
155 156 157 |
# File 'lib/fog/aws/storage.rb', line 155 def https_url(params, expires) signed_url(params.merge(:scheme => 'https'), expires) end |
#request_url(params) ⇒ Object
178 179 180 181 |
# File 'lib/fog/aws/storage.rb', line 178 def request_url(params) params = request_params(params) params_to_url(params) end |
#require_mime_types ⇒ Object
164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'lib/fog/aws/storage.rb', line 164 def require_mime_types begin # Use mime/types/columnar if available, for reduced memory usage require 'mime/types/columnar' rescue LoadError begin require 'mime/types' rescue LoadError Fog::Logger.warning("'mime-types' missing, please install and try again.") exit(1) end end end |
#signed_url(params, expires) ⇒ Object
183 184 185 186 187 188 189 190 191 192 193 194 195 |
# File 'lib/fog/aws/storage.rb', line 183 def signed_url(params, expires) refresh_credentials_if_expired #convert expires from a point in time to a delta to now expires = expires.to_i if @signature_version == 4 params = v4_signed_params_for_url(params, expires) else params = v2_signed_params_for_url(params, expires) end params_to_url(params) end |
#url(params, expires) ⇒ Object
159 160 161 162 |
# File 'lib/fog/aws/storage.rb', line 159 def url(params, expires) Fog::Logger.deprecation("Fog::AWS::Storage => #url is deprecated, use #https_url instead [light_black](#{caller.first})[/]") https_url(params, expires) end |
#validate_chunk_size(value, description) ⇒ Object
199 200 201 |
# File 'lib/fog/aws/storage.rb', line 199 def validate_chunk_size(value, description) raise "#{description} (#{value}) is less than minimum #{MIN_MULTIPART_CHUNK_SIZE}" unless value <= 0 || value >= MIN_MULTIPART_CHUNK_SIZE end |