class TusClient::OptionsRequest

Asks tus server for the provided options (aka server configuration)

Attributes

extra_headers[R]
tus_server_uri[R]

Public Class Methods

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

  @tus_server_uri = tus_server_uri
  @extra_headers = extra_headers
end

Public Instance Methods

headers() click to toggle source
# File lib/tusc/options_request.rb, line 17
def headers
  extra_headers
end
logger() click to toggle source
# File lib/tusc/options_request.rb, line 21
def logger
  @logger ||= TusClient.logger
end
perform() click to toggle source

Retrieves server config via a OPTIONS request to the tus server Returns an OptionsResponse)

# File lib/tusc/options_request.rb, line 27
def perform
  response = TusClient::HttpService.options(
    uri: tus_server_uri,
    headers: headers,
    logger: logger
  )
  TusClient::OptionsResponse.new(response)
end