class TusClient::CreationRequest

Sends the creation request to the tus server

Attributes

body[R]
extra_headers[R]
file_size[R]
tus_creation_url[R]

Public Class Methods

new(tus_creation_url:, file_size:, extra_headers: {}, body: nil) click to toggle source
# File lib/tusc/creation_request.rb, line 7
def initialize(tus_creation_url:, file_size:, extra_headers: {}, body: nil)
  @tus_creation_url = tus_creation_url
  @file_size = file_size
  @extra_headers = extra_headers
  @body = body
end

Public Instance Methods

headers() click to toggle source
# File lib/tusc/creation_request.rb, line 14
def headers
  {
    'Content-Length' => 0.to_s,
    'Tus-Resumable' => supported_tus_resumable_versions.first,
    'Upload-Length' => file_size.to_s
  }.merge(extra_headers)
end
logger() click to toggle source
# File lib/tusc/creation_request.rb, line 22
def logger
  @logger ||= TusClient.logger
end
perform() click to toggle source

Sends the creation request to the tus server returns an upload_url (in CreationResponse)

# File lib/tusc/creation_request.rb, line 28
def perform
  response = TusClient::HttpService.post(
    uri: tus_creation_uri,
    headers: headers,
    body: body,
    logger: logger
  )
  TusClient::CreationResponse.new(response)
end
supported_tus_resumable_versions() click to toggle source
# File lib/tusc/creation_request.rb, line 38
def supported_tus_resumable_versions
  ['1.0.0']
end
tus_creation_uri() click to toggle source
# File lib/tusc/creation_request.rb, line 42
def tus_creation_uri
  @tus_creation_uri ||= URI.parse(tus_creation_url)
end