class Moneta::Front::Service

Constants

DEMO
PATH
PRODUCTION

Public Class Methods

new(certificate, key, params = {}) click to toggle source
# File lib/moneta/front/service.rb, line 12
def initialize(certificate, key, params = {})
  @certificate = certificate
  @key = key
  @connection = connection(Moneta::Api::Options.new(params))
end

Public Instance Methods

request(url) click to toggle source
# File lib/moneta/front/service.rb, line 18
def request(url)
  @connection.get(url)
end

Private Instance Methods

connection(options) click to toggle source
# File lib/moneta/front/service.rb, line 24
def connection(options)
  Faraday.new(url: endpoint(options.demo?), ssl: ssl_options) do |faraday|
    faraday.use ::FaradayMiddleware::FollowRedirects, limit: 10

    if options.logger
      faraday.response :logger, options.logger, bodies: options.log_bodies? do |logger|
        options.filter.each do |subject, replacement|
          logger.filter(/#{ subject }/, replacement)
        end
      end
    end

    faraday.adapter :net_http do |http|
      http.open_timeout = options.open_timeout
    end
  end
end
endpoint(demo) click to toggle source
# File lib/moneta/front/service.rb, line 42
def endpoint(demo)
  (demo ? DEMO : PRODUCTION) + PATH
end
ssl_options() click to toggle source
# File lib/moneta/front/service.rb, line 46
def ssl_options
  { client_cert: @certificate, client_key: @key, verify: false }
end