Module: Immoscout::Api::Request
- Included in:
- Client
- Defined in:
- lib/immoscout/api/request.rb
Overview
An abstract HTTP/API request.
Instance Method Summary collapse
- #delete(path, payload = nil, multipart = nil) ⇒ Object
- #get(path, payload = nil, multipart = nil) ⇒ Object
- #post(path, payload = nil, multipart = nil) ⇒ Object
- #put(path, payload = nil, multipart = nil) ⇒ Object
-
#request(method, path, payload = nil, multipart = nil) ⇒ Object
rubocop:disable Metrics/MethodLength because of the header handling.
Instance Method Details
#delete(path, payload = nil, multipart = nil) ⇒ Object
19 20 21 |
# File 'lib/immoscout/api/request.rb', line 19 def delete(path, payload = nil, multipart = nil) request(:delete, path, payload, multipart) end |
#get(path, payload = nil, multipart = nil) ⇒ Object
7 8 9 |
# File 'lib/immoscout/api/request.rb', line 7 def get(path, payload = nil, multipart = nil) request(:get, path, payload, multipart) end |
#post(path, payload = nil, multipart = nil) ⇒ Object
11 12 13 |
# File 'lib/immoscout/api/request.rb', line 11 def post(path, payload = nil, multipart = nil) request(:post, path, payload, multipart) end |
#put(path, payload = nil, multipart = nil) ⇒ Object
15 16 17 |
# File 'lib/immoscout/api/request.rb', line 15 def put(path, payload = nil, multipart = nil) request(:put, path, payload, multipart) end |
#request(method, path, payload = nil, multipart = nil) ⇒ Object
rubocop:disable Metrics/MethodLength because of the header handling
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/immoscout/api/request.rb', line 24 def request(method, path, payload = nil, multipart = nil) connection.send(method, path, multipart) do |request| if multipart request.headers['Content-Type'] = 'multipart/form-data' else request.body = payload if payload request.headers['Content-Type'] = 'application/json;charset=UTF-8' end request.headers['Accept'] = 'application/json' request.headers['User-Agent'] = "RubyImmoscout/#{Immoscout::VERSION}" end end |