class SimpleRequest
Attributes
options[R]
response[R]
Public Class Methods
new(**options)
click to toggle source
# File lib/simple_request.rb, line 11 def initialize(**options) @options = options.symbolize_keys! validate end
Public Instance Methods
code()
click to toggle source
# File lib/simple_request.rb, line 50 def code response&.code end
csv(path = nil)
click to toggle source
# File lib/simple_request.rb, line 46 def csv(path = nil) SimpleHelper::ResponseParser.perform(body_response, 'csv', path) end
Private Instance Methods
body()
click to toggle source
# File lib/simple_request.rb, line 60 def body options[:body] end
body_response()
click to toggle source
# File lib/simple_request.rb, line 64 def body_response response&.body end
headers()
click to toggle source
# File lib/simple_request.rb, line 76 def headers options[:headers] || {} end
headers_processor()
click to toggle source
# File lib/simple_request.rb, line 68 def headers_processor SimpleHelper::HeadersProcessor.perform(headers) end
http_method()
click to toggle source
# File lib/simple_request.rb, line 72 def http_method # "#{Net::HTTP::}" end
requested_class()
click to toggle source
# File lib/simple_request.rb, line 56 def requested_class Object.const_get("SimpleHelper::#{scheme.capitalize}") end
uri()
click to toggle source
# File lib/simple_request.rb, line 80 def uri URI(options[:url]) end
validate()
click to toggle source
# File lib/simple_request.rb, line 84 def validate # raise SimpleHelper::RedirectionTooDeep.new(last_response), 'HTTP redirects too deep' if options[:limit].to_i <= 0 # unless SimpleHelper::Config.supported_methods.include?(http_method) # raise ArgumentError, 'only get, post, patch, put, and delete methods are supported' # end raise ArgumentError, ':headers must be a hash' unless headers.respond_to?(:to_hash) unless SimpleHelper::Config.supported_schemes.include? scheme raise SimpleHelper::UnsupportedURIScheme, ' URL Must start with http:// or https://' end # if options[:basic_auth] && !options[:basic_auth].respond_to?(:to_hash) # raise ArgumentError, ':basic_auth must be a hash' # end # if options[:digest_auth] && !options[:digest_auth].respond_to?(:to_hash) # raise ArgumentError, ':digest_auth must be a hash' # end # if post? && !options[:query].nil? && !options[:query].respond_to?(:to_hash) # raise ArgumentError, ':query must be hash if using HTTP Post' # end end