class NRB::HTTPService
Constants
- DEFAULT_MIDDLEWARE
- VERSION
Attributes
faraday_middleware[RW]
args[R]
connection_opts[R]
params[R]
response_class[R]
url[R]
verb[R]
Public Class Methods
default_http_class()
click to toggle source
# File lib/NRB_http_service.rb, line 18 def default_http_class; Faraday; end
default_middleware()
click to toggle source
# File lib/NRB_http_service.rb, line 17 def default_middleware; DEFAULT_MIDDLEWARE; end
default_response_class()
click to toggle source
# File lib/NRB_http_service.rb, line 19 def default_response_class; Response; end
make_request(args={}, connection_opts={})
click to toggle source
# File lib/NRB_http_service.rb, line 22 def make_request(args={}, connection_opts={}) new(args,connection_opts).make_request end
new(args={}, connection_opts={})
click to toggle source
# File lib/NRB_http_service.rb, line 31 def initialize(args={}, connection_opts={}) @connection_opts = connection_opts @response_class = args.delete(:response_class) || self.class.default_response_class @verb = args.delete(:verb) @url = args.delete(:url) @params = process_args(args) @args = args end
version()
click to toggle source
# File lib/NRB_http_service/version.rb, line 4 def self.version; VERSION; end
Public Instance Methods
make_request()
click to toggle source
# File lib/NRB_http_service.rb, line 41 def make_request response = connection.send verb, url, params response_class.new response_args(response) rescue Faraday::Error::ParsingError => e self.class.default_response_class.new body: {error: e.message}, status: 500 end
Private Instance Methods
connection()
click to toggle source
# File lib/NRB_http_service.rb, line 52 def connection self.class.default_http_class.new url, connection_opts, &self.class.faraday_middleware end
process_args(args)
click to toggle source
# File lib/NRB_http_service.rb, line 57 def process_args(args) return args unless @verb == :post args.inject("") { |str,pair| str += "#{pair.first}=#{pair.last}&" }.chop end
response_args(response)
click to toggle source
# File lib/NRB_http_service.rb, line 63 def response_args(response) args.merge( { body: response.body, headers: response.headers, status: response.status.to_i } ) end