class Openstack::Client::Storage::GetObjectByRange
Downloads the object by chunks at the specified URI. It uses the `Range` header with byte range.
Attributes
range[R]
Public Class Methods
new(uri:, range:, options: {})
click to toggle source
Calls superclass method
Openstack::Client::Storage::GetObject::new
# File lib/openstack/client/storage/get_object_by_range.rb, line 13 def initialize(uri:, range:, options: {}) super(uri: uri, options: options) @range = range end
Public Instance Methods
request()
click to toggle source
Calls superclass method
Openstack::Client::Storage::GetObject#request
# File lib/openstack/client/storage/get_object_by_range.rb, line 18 def request super.tap do |request| request.add_field('Range', byte_range) end end
Private Instance Methods
byte_range()
click to toggle source
# File lib/openstack/client/storage/get_object_by_range.rb, line 26 def byte_range "bytes=#{first_byte}-#{last_byte}" end
first_byte()
click to toggle source
# File lib/openstack/client/storage/get_object_by_range.rb, line 30 def first_byte range.begin end
last_byte()
click to toggle source
# File lib/openstack/client/storage/get_object_by_range.rb, line 34 def last_byte range.exclude_end? ? range_end - 1 : range_end end
range_end()
click to toggle source
# File lib/openstack/client/storage/get_object_by_range.rb, line 38 def range_end range.end end