module Acme::Client::HTTPClient

Public Class Methods

new_acme_connection(url:, client:, mode:, options: {}, bad_nonce_retry: 0) { |configuration| ... } click to toggle source

Creates and returns a new HTTP client designed for the Acme-protocol, with default settings.

@param url [URI:HTTPS] @param client [Acme::Client] @param mode [Symbol] @param options [Hash] @param bad_nonce_retry [Integer] @return [Faraday::Connection]

# File lib/acme/client/http_client.rb, line 28
def self.new_acme_connection(url:, client:, mode:, options: {}, bad_nonce_retry: 0)
  new_connection(url: url, options: options) do |configuration|
    if bad_nonce_retry > 0
      configuration.request(:retry,
        max: bad_nonce_retry,
        methods: Faraday::Connection::METHODS,
        exceptions: [Acme::Client::Error::BadNonce])
    end

    configuration.use Acme::Client::HTTPClient::AcmeMiddleware, client: client, mode: mode

    yield(configuration) if block_given?
  end
end
new_connection(url:, options: {}) { |configuration| ... } click to toggle source

Creates and returns a new HTTP client, with default settings.

@param url [URI:HTTPS] @param options [Hash] @return [Faraday::Connection]

# File lib/acme/client/http_client.rb, line 9
def self.new_connection(url:, options: {})
  Faraday.new(url, options) do |configuration|
    configuration.use Acme::Client::HTTPClient::ErrorMiddleware

    yield(configuration) if block_given?

    configuration.headers[:user_agent] = Acme::Client::USER_AGENT
    configuration.adapter Faraday.default_adapter
  end
end