class AcmeManager::IssueRequest

Handles the request and response associated with issuing a new certificate through acme-manager

Constants

SUCCESSFUL_RESULTS

Attributes

error[R]
error_type[R]
name[R]
success[R]

Public Class Methods

make(name) click to toggle source

Convenience method for issuing a new certificate

@param [String] name Domain name to issue a cert for

@return [IssueRequest] A new instance after the request has been made

# File lib/acme_manager/issue_request.rb, line 18
def self.make(name)
  request = new(name)
  request.make
  request
end
new(name) click to toggle source

@param [String] name Domain name to issue a cert for

# File lib/acme_manager/issue_request.rb, line 9
def initialize(name)
  @name = name
end

Public Instance Methods

make() click to toggle source

Send a request to acme-manager to issue a new certificate. If the request is a failure error_type and error will be set containing the failure details.

@return [Boolean] true if the request was successful.

# File lib/acme_manager/issue_request.rb, line 28
def make
  AcmeManager.logger.info "Requesting certificate issue for '#{name}'"
  response = Request.make("issue/#{name}")

  if SUCCESSFUL_RESULTS.include?(response['result'])
    AcmeManager.logger.info "Issue for '#{name}' successful"
    @success = true
  else
    @error_type = response['reason']['type']
    @error = response['reason']['detail']
    AcmeManager.logger.warn "Issue for '#{name}' failed - #{error_type}, #{error}"
    @success = false
  end
end
success?() click to toggle source

Was the request sucessful? This will return false if the request hasn’t been made yet

# File lib/acme_manager/issue_request.rb, line 44
def success?
  !!@success
end