module Passworks::Request

Public Instance Methods

agent() click to toggle source
# File lib/passworks/request.rb, line 17
def agent
  @agent ||= ::Faraday.new(endpoint) do |connection|
    connection.basic_auth(@api_username, @api_secret)
    connection.request :multipart
    connection.request :json
    connection.response :logger
    connection.response :json, :content_type => /\bjson$/
    connection.use Passworks::Faraday::HttpExceptionMiddleware
    connection.adapter ::Faraday.default_adapter
  end
  @agent.headers[:user_agent]    = @user_agent
  @agent
end
delete(url, options={}) click to toggle source
# File lib/passworks/request.rb, line 43
def delete(url, options={})
  request(:delete, url, options)
end
get(url, options={}) click to toggle source
# File lib/passworks/request.rb, line 31
def get(url, options={})
  request(:get, url, options)
end
patch(url, options={}) click to toggle source
# File lib/passworks/request.rb, line 39
def patch(url, options={})
  request(:patch, url, options)
end
post(url, options={}) click to toggle source
# File lib/passworks/request.rb, line 35
def post(url, options={})
  request(:post, url, options)
end
request(method, path, options={}) click to toggle source
# File lib/passworks/request.rb, line 4
def request(method, path, options={})
  response = agent.send(method) do |request|
    case method
    when :get
      request.url(path, options[:query])
    when :post, :put, :patch, :delete
      request.path = path
      request.body = options.fetch(:body, {})
    end
  end
  Response.new(self, response)
end