class Afterpay::HTTPService::Request
Attributes
middleware[R]
@attribute middleware @return [Proc] A proc containing Faraday configuration
server[R]
@attribute server @return [String] an API
endpoint
Public Class Methods
new(params = {})
click to toggle source
Creates Afterpay::HTTPService::Request
instance @param [Hash] params hash of parameters @return [Afterpay::HTTPService::Request] Request
instance
# File lib/afterpay/http_service/request.rb, line 19 def initialize(params = {}) @middleware = params[:middleware] @server = params[:server] end
Public Instance Methods
perform(params = {})
click to toggle source
Performs an HTTP request to the specified endpoint with given body @param [Hash] params hash of parameters. @return [Farday::Response] Faraday::Response instance
# File lib/afterpay/http_service/request.rb, line 27 def perform(params = {}) adapter.send(*params.values_at(:action, :endpoint, :body)) end
Private Instance Methods
adapter()
click to toggle source
Creates memoized Faraday::Connection instance @return [Faraday::Connection] Faraday::Connection instance
# File lib/afterpay/http_service/request.rb, line 35 def adapter @adapter ||= Faraday.new(server, faraday_options, &middleware) end
faraday_options()
click to toggle source
# File lib/afterpay/http_service/request.rb, line 39 def faraday_options return {} unless ::Afterpay.user_agent { "headers" => { "User-Agent" => ::Afterpay.user_agent } } end