module Rubytus::Helpers
Public Instance Methods
prepare_headers(env, headers)
click to toggle source
# File lib/rubytus/helpers.rb, line 10 def prepare_headers(env, headers) request = Rubytus::Request.new(env) # CREATE if request.collection? && request.post? uid = generate_uid env['api.action'] = :create env['api.uid'] = uid env['api.final_length'] = request.final_length env['api.resource_url'] = request.resource_url(uid) end if request.resource? # UID for this resource env['api.uid'] = request.resource_uid # HEAD if request.head? env['api.action'] = :head end # PATCH if request.patch? unless request.resumable_content_type? error!(STATUS_BAD_REQUEST, "Content-Type must be '#{RESUMABLE_CONTENT_TYPE}'") end env['api.action'] = :patch env['api.buffers'] = '' env['api.offset'] = request.offset end # GET if request.get? env['api.action'] = :get end end end
validates_base_path(base_path)
click to toggle source
# File lib/rubytus/helpers.rb, line 62 def validates_base_path(base_path) unless base_path =~ BASE_PATH_REGEX raise ConfigurationError, "Invalid `base_path` configuration, it should be using format /uploads/, /user-data/, etc" end base_path end
validates_length(req_length, remaining)
click to toggle source
# File lib/rubytus/helpers.rb, line 56 def validates_length(req_length, remaining) if req_length > remaining error!(STATUS_FORBIDDEN, "Content-Length: #{req_length} exceeded remaining length: #{remaining}") end end
validates_max_size(max_size)
click to toggle source
# File lib/rubytus/helpers.rb, line 70 def validates_max_size(max_size) if max_size.is_a? String max_size = max_size.to_i end if max_size <= 0 raise ConfigurationError, "Invalid `max_size`, it should be > 0 bytes" end max_size end
validates_offset(req_offset, info_offset)
click to toggle source
# File lib/rubytus/helpers.rb, line 50 def validates_offset(req_offset, info_offset) if req_offset > info_offset error!(STATUS_FORBIDDEN, "Offset: #{req_offset} exceeds current offset: #{info_offset}") end end