NAME
WWW::LetsEncrypt::Message - Base class for all ACME messages.
SYNPOSIS
package Some::Acme::Message;
use Moose;
extends 'WWW::LetsEncrypt::Message';
# implement functions required functions
...
DESCRIPTION
This is an abstract class that provides the basis for ACME messages being sent to the Let's Encrypt CA server.
Attributes
- _acme_base_url
-
private attribute that holds the ACME API URL. Defaults to the Let's Encrypt API URL, cannot be changed once the object has been created.
- JWK
-
JSON Web Key object that implements both JWK and JWA (will be passed to a JWS object). This is required.
- nonce
-
scalar attribute that holds the nonce. It will be used when sending messages, and will be automatically refreshed upon receiving a message from the Let's Encrypt CA server. This attribute is not required but messages w/o a valid nonce may fail!
- retry_time
-
scalar integer attribute that holds how much time the client should wait before trying to send another API request. This value being true usually means an HTTP 429 was encountered and that the client should back off.
- WebAgent
-
object attribute that holds an instance of LWP::UserAgent (or anything that happens to implement the same functions). If not provided during initialization, a new LWP::UserAgent object will be created with the following settings:
Functions
- $Obj->do_request()
-
This method is the primary method that a client should use to perform message calls out to an ACME server. It performs some error handling, but passes all major processing off to a derived class's _process_request function.
Output
\%hash_ref = { successful => boolean value that expresses if a step performed successfully, finished => boolean value that expresses if all steps have been performed, error => boolean value that expresses a FATAL error has occurred, ... (other values depending on step) }