class TusClient::OffsetRequest

Asks tus server for appriopriate offset

for specific file, via upload_url

Attributes

extra_headers[R]
upload_uri[R]

Public Class Methods

new(upload_url:, extra_headers: {}) click to toggle source
# File lib/tusc/offset_request.rb, line 8
def initialize(upload_url:, extra_headers: {})
  upload_uri = upload_url.is_a?(URI) ? upload_url : URI.parse(upload_url)
  unless upload_uri.is_a?(URI::HTTP) && !upload_uri.host.nil?
    raise URI::InvalidURIError, "Could NOT parse host from #{upload_url.inspect}"
  end

  @upload_uri = upload_uri
  @extra_headers = extra_headers
end

Public Instance Methods

headers() click to toggle source
# File lib/tusc/offset_request.rb, line 18
def headers
  {
    'Tus-Resumable' => supported_tus_resumable_version
  }.merge(extra_headers)
end
logger() click to toggle source
# File lib/tusc/offset_request.rb, line 24
def logger
  @logger ||= TusClient.logger
end
perform() click to toggle source

Retrieves offset via a HEAD request to the tus server Returns the offset (in a OffsetResponse)

# File lib/tusc/offset_request.rb, line 30
def perform
  response = TusClient::HttpService.head(
    uri: upload_uri,
    headers: headers,
    logger: logger
  )
  TusClient::OffsetResponse.new(response)
end
supported_tus_resumable_version() click to toggle source
# File lib/tusc/offset_request.rb, line 39
def supported_tus_resumable_version
  '1.0.0'
end