Class: Saddle::Requester
- Inherits:
-
Object
- Object
- Saddle::Requester
- Defined in:
- lib/saddle/requester.rb
Constant Summary collapse
- VALID_BODY_STYLES =
[:json, :urlencoded]
Instance Method Summary collapse
-
#delete(url, params = {}, options = {}) ⇒ Object
Make a DELETE request.
-
#get(url, params = {}, options = {}) ⇒ Object
Make a GET request.
-
#initialize(opt = {}) ⇒ Requester
constructor
Available options host - host to connect to (default: localhost) port - port to connect on (default: 80) use_ssl - true if we should use https (default: false) request_style - :json or :urlencoded (default: :json) num_retries - number of times to retry each request (default: 3) timeout - timeout in seconds additional_middleware - an Array of more middlewares to apply to the top of the stack - each middleware consists of hash of klass, and optionally args (an array) stubs - test stubs for specs.
-
#post(url, data = {}, options = {}) ⇒ Object
Make a POST request.
-
#put(url, data = {}, options = {}) ⇒ Object
Make a PUT request.
Constructor Details
#initialize(opt = {}) ⇒ Requester
Available options host - host to connect to (default: localhost) port - port to connect on (default: 80) use_ssl - true if we should use https (default: false) request_style - :json or :urlencoded (default: :json) num_retries - number of times to retry each request (default: 3) timeout - timeout in seconds additional_middleware - an Array of more middlewares to apply to the top of the stack
- each middleware consists of hash of klass, and optionally args (an array)
stubs - test stubs for specs
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/saddle/requester.rb', line 32 def initialize(opt={}) @host = opt[:host] || 'localhost' raise ':host must be a string' unless @host.is_a?(String) @port = opt[:port] || 80 raise ':port must be an integer' unless @port.is_a?(Fixnum) @use_ssl = opt[:use_ssl] || false raise ':use_ssl must be true or false' unless (@use_ssl.is_a?(TrueClass) || @use_ssl.is_a?(FalseClass)) @request_style = opt[:request_style] || :json raise ":request_style must be in: #{VALID_BODY_STYLES.join(',')}" unless VALID_BODY_STYLES.include?(@request_style) @num_retries = opt[:num_retries] || 3 raise ':num_retries must be an integer' unless @num_retries.is_a?(Fixnum) @timeout = opt[:timeout] unless @timeout.nil? raise ':timeout must be a number or nil' unless @timeout.is_a?(Numeric) end @additional_middlewares = opt[:additional_middlewares] || [] raise ':additional_middleware must be an Array' unless @additional_middlewares.is_a?(Array) raise 'invalid middleware found' unless @additional_middlewares.all? { |m| m[:klass] < Faraday::Middleware } raise 'middleware arguments must be an array' unless @additional_middlewares.all? { |m| m[:args].nil? || m[:args].is_a?(Array) } @stubs = opt[:stubs] || nil unless @stubs.nil? raise ':stubs must be a Faraday::Adapter::Test::Stubs' unless @stubs.is_a?(Faraday::Adapter::Test::Stubs) end end |
Instance Method Details
#delete(url, params = {}, options = {}) ⇒ Object
Make a DELETE request
88 89 90 91 92 93 94 |
# File 'lib/saddle/requester.rb', line 88 def delete(url, params={}, ={}) response = connection.delete do |req| req..merge! req.url url, params end response.body end |
#get(url, params = {}, options = {}) ⇒ Object
Make a GET request
59 60 61 62 63 64 65 |
# File 'lib/saddle/requester.rb', line 59 def get(url, params={}, ={}) response = connection.get do |req| req..merge! req.url url, params end response.body end |
#post(url, data = {}, options = {}) ⇒ Object
Make a POST request
68 69 70 71 72 73 74 75 |
# File 'lib/saddle/requester.rb', line 68 def post(url, data={}, ={}) response = connection.post do |req| req..merge! req.url url req.body = data end response.body end |
#put(url, data = {}, options = {}) ⇒ Object
Make a PUT request
78 79 80 81 82 83 84 85 |
# File 'lib/saddle/requester.rb', line 78 def put(url, data={}, ={}) response = connection.put do |req| req..merge! req.url url req.body = data end response.body end |