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