class Safelylaunch::HttpConnection
Attributes
api_token[R]
cache_time[R]
connection[R]
host[R]
logger[R]
Public Class Methods
new(api_token:, logger: Logger.new(STDOUT), cache_time: nil, host: 'http://localhost:2300')
click to toggle source
# File lib/safelylaunch/http_connection.rb, line 9 def initialize(api_token:, logger: Logger.new(STDOUT), cache_time: nil, host: 'http://localhost:2300') @api_token = api_token @logger = logger @host = host @cache_time = cache_time @cache = HttpCache.new @connection = Faraday.new(url: host, request: { timeout: 10 }) do |conn| conn.response :json, content_type: %r{application/json}, parser_options: { symbolize_names: true } conn.response :logger, logger conn.adapter Faraday.default_adapter end end
Public Instance Methods
get(key)
click to toggle source
# File lib/safelylaunch/http_connection.rb, line 25 def get(key) cache_time ? cached_check_toggle(key) : check_toggle(key) end
Private Instance Methods
cached_check_toggle(key)
click to toggle source
# File lib/safelylaunch/http_connection.rb, line 31 def cached_check_toggle(key) @cache.get(key) || @cache.put(key, check_toggle(key), cache_time) end
check_toggle(key)
click to toggle source
# File lib/safelylaunch/http_connection.rb, line 35 def check_toggle(key) response = connection.get('/api/v1/check', token: api_token, key: key) response.body end