Module: BetterAuth::HTTPClient
- Defined in:
- lib/better_auth/http_client.rb
Constant Summary collapse
- DEFAULT_OPEN_TIMEOUT =
5- DEFAULT_READ_TIMEOUT =
5
Class Method Summary collapse
- .get_json(url, headers = {}) ⇒ Object
- .get_response(uri, headers = {}) ⇒ Object
- .post_form(uri, form_body, headers = {}) ⇒ Object
- .request(uri, request, open_timeout: DEFAULT_OPEN_TIMEOUT, read_timeout: DEFAULT_READ_TIMEOUT) ⇒ Object
Class Method Details
.get_json(url, headers = {}) ⇒ Object
40 41 42 43 44 |
# File 'lib/better_auth/http_client.rb', line 40 def get_json(url, headers = {}) uri = url.is_a?(URI) ? url : URI.parse(url.to_s) response = get_response(uri, headers) response.is_a?(Net::HTTPSuccess) ? JSON.parse(response.body.to_s) : nil end |
.get_response(uri, headers = {}) ⇒ Object
26 27 28 29 30 |
# File 'lib/better_auth/http_client.rb', line 26 def get_response(uri, headers = {}) request = Net::HTTP::Get.new(uri) headers.each { |key, value| request[key.to_s] = value.to_s } request(uri, request) end |
.post_form(uri, form_body, headers = {}) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/better_auth/http_client.rb', line 32 def post_form(uri, form_body, headers = {}) request = Net::HTTP::Post.new(uri) headers.each { |key, value| request[key.to_s] = value.to_s } request["Content-Type"] ||= "application/x-www-form-urlencoded" request.body = form_body request(uri, request) end |
.request(uri, request, open_timeout: DEFAULT_OPEN_TIMEOUT, read_timeout: DEFAULT_READ_TIMEOUT) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/better_auth/http_client.rb', line 14 def request(uri, request, open_timeout: DEFAULT_OPEN_TIMEOUT, read_timeout: DEFAULT_READ_TIMEOUT) Net::HTTP.start( uri.hostname || uri.host, uri.port, use_ssl: uri.scheme == "https", open_timeout: open_timeout, read_timeout: read_timeout ) do |http| http.request(request) end end |