class DropboxApiV2::Request

Constants

API_URL
CONTENT_URL

Attributes

path[R]
verb[R]

Public Class Methods

new(path, params={}) click to toggle source
# File lib/dropbox_api_v2/request.rb, line 12
def initialize(path, params={})
  @path          = path
  @token         = params.delete(:token)
  @body          = params.delete(:body)
  @file_transfer = params.delete(:file_transfer)
  @params        = params
end

Public Instance Methods

base_url() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 20
def base_url
  file_transfer? ? CONTENT_URL : API_URL
end
body() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 64
def body
  file_transfer? ? @body : json_params
end
content_type() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 44
def content_type
  if upload?
    "application/octet-stream"
  elsif download?
    ""
  else
    "application/json"
  end
end
download?() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 36
def download?
  !!(file_transfer? && !@body)
end
file_transfer?() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 40
def file_transfer?
  @file_transfer
end
headers() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 54
def headers
  headers = {"Authorization": "Bearer #{@token}", "Content-Type": content_type}
  headers["Dropbox-API-Arg"] = json_params if file_transfer?
  headers
end
json_params() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 28
def json_params
  @params.to_json
end
perform() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 68
def perform
  Curl.post(url, body) do |http|
    http.headers = headers
  end
end
response() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 60
def response
  DropboxApiV2::Response.new perform
end
upload?() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 32
def upload?
  !!(file_transfer? && @body)
end
url() click to toggle source
# File lib/dropbox_api_v2/request.rb, line 24
def url
  base_url + path
end