Class: Wordpress::Client
- Includes:
- API
- Defined in:
- lib/wordpress/client.rb
Instance Attribute Summary collapse
-
#access_token ⇒ Object
Returns the value of attribute access_token.
Instance Method Summary collapse
- #call(request, options = {}) ⇒ Object
-
#initialize ⇒ Client
constructor
A new instance of Client.
Methods included from API
Methods inherited from Base
Constructor Details
#initialize ⇒ Client
Returns a new instance of Client.
16 17 18 19 20 21 22 23 |
# File 'lib/wordpress/client.rb', line 16 def initialize @conn = Faraday.new do |faraday| faraday.use Faraday::Response::Logger, logger faraday.request :url_encoded faraday.response :gzip faraday.adapter Faraday.default_adapter end end |
Instance Attribute Details
#access_token ⇒ Object
Returns the value of attribute access_token.
14 15 16 |
# File 'lib/wordpress/client.rb', line 14 def access_token @access_token end |
Instance Method Details
#call(request, options = {}) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/wordpress/client.rb', line 25 def call(request, = {}) debug "Request: #{request.inspect}" response = @conn.send(request.method) do |req| req.url request.url req.params = request.params req.body = MultiJson.dump(request.body) if [:bearer_token_request] && !bearer_auth_header.nil? req.headers['Authorization'] = bearer_auth_header end req.headers['Accept-Encoding'] = 'gzip,deflate' req.headers['Content-Type'] = 'application/json' req.[:timeout] = 10 req.[:open_timeout] = 5 end begin json = MultiJson.load(response.body) if json.nil? || json == '' raise Wordpress::ResponseError end rescue MultiJson::LoadError => e raise Wordpress::ResponseError, {'error' => e, 'message' => "Can not parse the response: #{response.body.inspect}"} end debug "Response: #{json}" json end |