class BaiduPcs::Base
Attributes
body[RW]
options[RW]
request[RW]
response[RW]
Public Class Methods
atoken_params()
click to toggle source
common
# File lib/baidu_pcs.rb, line 97 def atoken_params {access_token: Config.access_token} end
delete(url, params={}, opts={})
click to toggle source
# File lib/baidu_pcs.rb, line 92 def delete(url, params={}, opts={}) new(url, :delete, params, opts).run! end
get(url, params={}, opts={})
click to toggle source
# File lib/baidu_pcs.rb, line 83 def get(url, params={}, opts={}) new(url, :get, params, nil, opts).run! end
method_params(buz_method=nil, params={})
click to toggle source
# File lib/baidu_pcs.rb, line 100 def method_params(buz_method=nil, params={}) opts = atoken_params.merge(params) opts.merge!(method: buz_method) if buz_method opts end
new(url, method=:get, params={}, body={}, opts={})
click to toggle source
# File lib/baidu_pcs.rb, line 33 def initialize(url, method=:get, params={}, body={}, opts={}) [:noprogress, :verbose].each do |k| opts[k] = params.delete(k) if params.key?(k) and !opts.key?(k) end @options = { method: method||:get, headers: {"User-Agent"=>"Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"}, params: params } if headers = opts.delete(:headers) @options[:headers].merge!(headers) end @options.merge!(body: body) unless body.blank? @options.merge!(opts) @request = Typhoeus::Request.new(url, @options) if @options[:verbose] puts "#### request options: " puts @options end @request.on_complete do |response| @response = response if response.success? #(mock || return_code == :ok) && response_code && response_code >= 200 && response_code < 300 if response.headers["Content-Disposition"] =~ /attachment;file/ or response.headers["Content-Type"] =~ /image\// @body = response.body else #default as json @body = MultiJson.load(response.body, symbolize_keys: true) end elsif response.timed_out? raise "Timeout with options: #{options}" elsif response.code == 0 raise "Could not get an http response, something's wrong: #{response.return_message} with options: #{options}" else raise "Http request failed with code: #{response.code}, msg: #{response.body}" end end self end
post(url, params={}, body={}, opts={})
click to toggle source
# File lib/baidu_pcs.rb, line 86 def post(url, params={}, body={}, opts={}) new(url, :post, params, body, opts).run! end
put(url, params={}, body={}, opts={})
click to toggle source
# File lib/baidu_pcs.rb, line 89 def put(url, params={}, body={}, opts={}) new(url, :put, params, body, opts).run! end
quota()
click to toggle source
# File lib/baidu_pcs.rb, line 105 def quota get("#{PCS_BASE_URL}/quota", method_params(:info)) end
Public Instance Methods
http_code()
click to toggle source
# File lib/baidu_pcs.rb, line 78 def http_code response.code end
ok?()
click to toggle source
# File lib/baidu_pcs.rb, line 75 def ok? response.success? end
run!()
click to toggle source
# File lib/baidu_pcs.rb, line 71 def run! @request.run self end