class Handiv::Connection
Constants
- USER_AGENT
Attributes
client[R]
connection[R]
Public Class Methods
new(client)
click to toggle source
# File lib/handiv/connection.rb, line 11 def initialize(client) @client = client @connection = set_connection end
Public Instance Methods
send_data(path, data = {})
click to toggle source
# File lib/handiv/connection.rb, line 16 def send_data(path, data = {}) config.verify! response = post_data(path, data) response.status rescue => e client.logger.error "Failed to send a message (#{e.class} - #{e.message})" 500 # Return status end
Private Instance Methods
config()
click to toggle source
# File lib/handiv/connection.rb, line 59 def config client.config end
config_general_options(conn)
click to toggle source
# File lib/handiv/connection.rb, line 52 def config_general_options(conn) conn.headers[:user_agent] = USER_AGENT conn.options[:proxy] = config.proxy if config.proxy conn.options[:timeout] = config.timeout if config.timeout conn.options[:open_timeout] = config.open_timeout if config.open_timeout end
ping_url()
click to toggle source
# File lib/handiv/connection.rb, line 37 def ping_url "#{config.uri}/#{config.organization_id}/#{config.app_id}" end
post_data(path, data)
click to toggle source
# File lib/handiv/connection.rb, line 28 def post_data(path, data) connection.post do |req| req.url(path) req.headers['Content-Type'] = 'application/json' req.headers['Authorization'] = "Token token=#{config.secret_token}" req.body = data.to_json end end
set_connection()
click to toggle source
# File lib/handiv/connection.rb, line 41 def set_connection Faraday.new(url: ping_url) do |conn| config_general_options(conn) conn.response :follow_redirects conn.request :url_encoded # for POST/PUT params conn.request :retry conn.adapter Faraday.default_adapter end end