class Truemail::Client::Http
Constants
- HEALTHCHECK_ENDPOINT
- MIME_TYPE
- URI_ATTRS
- USER_AGENT
- VALIDATION_ENDPOINT
Public Class Methods
new(endpoint = Truemail::Client::Http::VALIDATION_ENDPOINT, **uri_params)
click to toggle source
# File lib/truemail/client/http.rb, line 16 def initialize(endpoint = Truemail::Client::Http::VALIDATION_ENDPOINT, **uri_params) Truemail::Client::Http::URI_ATTRS[0..2].each do |attribute| instance_variable_set(:"@#{attribute}", Truemail::Client.configuration.public_send(attribute)) end @endpoint = endpoint @uri_params = uri_params end
Public Instance Methods
run()
click to toggle source
# File lib/truemail/client/http.rb, line 24 def run ::Net::HTTP.start(uri.host, uri.port, use_ssl: secure_connection) do |http| request = ::Net::HTTP::Get.new(uri) request['User-Agent'] = Truemail::Client::Http::USER_AGENT request['Accept'] = Truemail::Client::Http::MIME_TYPE request['Content-Type'] = Truemail::Client::Http::MIME_TYPE unless endpoint.eql?(Truemail::Client::Http::HEALTHCHECK_ENDPOINT) request['Authorization'] = Truemail::Client.configuration.token end http.request(request) end.body rescue => error { truemail_client_error: error }.to_json end
Private Instance Methods
request_uri()
click to toggle source
# File lib/truemail/client/http.rb, line 43 def request_uri ::URI::HTTP.build( path: endpoint, query: uri_params.empty? ? nil : ::URI.encode_www_form(uri_params) ).request_uri end
uri()
click to toggle source
# File lib/truemail/client/http.rb, line 50 def uri @uri ||= URI("#{secure_connection ? 'https' : 'http'}://#{host}:#{port}#{request_uri}") end