Class: HttpRequester
- Inherits:
-
Object
- Object
- HttpRequester
- Defined in:
- lib/http_requester.rb
Overview
This class ease the usage of Net::HTTP and prevent code duplication
Direct Known Subclasses
Instance Method Summary collapse
-
#get(path, query_parameters = nil, &before_req_callback) ⇒ Object
HTTP GET method.
-
#initialize(base_url, headers_callback: ->(_request) {}, auth_callback: ->(_request) {}) ⇒ HttpRequester
constructor
use heritage on this class and call the super with the your base_url parameter and the callbacks you need.
-
#post(path, payload, &before_req_callback) ⇒ Object
HTTP POST method.
-
#put(path, payload, &before_req_callback) ⇒ Object
HTTP POST method.
Constructor Details
#initialize(base_url, headers_callback: ->(_request) {}, auth_callback: ->(_request) {}) ⇒ HttpRequester
use heritage on this class and call the super with the your base_url parameter and the callbacks you need.
15 16 17 18 19 |
# File 'lib/http_requester.rb', line 15 def initialize(base_url, headers_callback: ->(_request) {}, auth_callback: ->(_request) {}) @base_url = base_url @headers_callback = headers_callback @auth_callback = auth_callback end |
Instance Method Details
#get(path, query_parameters = nil, &before_req_callback) ⇒ Object
HTTP GET method
TODO: document
24 25 26 27 |
# File 'lib/http_requester.rb', line 24 def get(path, query_parameters = nil, &before_req_callback) uri = uri_from_path_and_query_parameters(path, query_parameters) do_request(::Net::HTTP::Get.new(uri), before_req_callback) end |
#post(path, payload, &before_req_callback) ⇒ Object
HTTP POST method
TODO: document
32 33 34 35 36 |
# File 'lib/http_requester.rb', line 32 def post(path, payload, &before_req_callback) req = ::Net::HTTP::Post.new(uri_from_path_and_query_parameters(path)) req.body = payload do_request(req, before_req_callback) end |
#put(path, payload, &before_req_callback) ⇒ Object
HTTP POST method
TODO: document
41 42 43 44 45 |
# File 'lib/http_requester.rb', line 41 def put(path, payload, &before_req_callback) req = ::Net::HTTP::Put.new(uri_from_path_and_query_parameters(path)) req.body = payload do_request(req, before_req_callback) end |