acumen/fetch_renewal_info
Fetch renewal information for a certificate (RFC 9773).
Queries the ACME server for a suggested renewal window for a specific
certificate. This uses an unauthenticated GET request (no JWS signing
needed), so it does not require acumen.execute — just build, send,
and parse the response directly.
Example
import acumen
import acumen/fetch_renewal_info
import acumen/renewal_info
import gleam/httpc
import kryptos/x509/certificate
// Parse the certificate and build the identifier
let assert Ok(certs) = certificate.from_pem(pem)
let assert [cert, ..] = certs
let assert Ok(cert_id) = renewal_info.cert_id_from_certificate(cert)
// Fetch renewal information
let assert Ok(req) = fetch_renewal_info.build(directory, cert_id)
let assert Ok(resp) = httpc.send(req)
let assert Ok(info) = fetch_renewal_info.response(resp)
// Check the suggested renewal window
let start = info.suggested_window.start
let end = info.suggested_window.end
// Check polling interval
let retry = acumen.retry_after(resp)
Values
pub fn build(
directory: acumen.Directory,
cert_id cert_id: String,
) -> Result(request.Request(String), acumen.AcmeError)
Builds an HTTP GET request to fetch renewal information for a certificate.
Targets {renewalInfo_url}/{cert_id}. Build the cert_id with
renewal_info.cert_id or renewal_info.cert_id_from_certificate.
pub fn response(
resp: response.Response(String),
) -> Result(renewal_info.RenewalInfo, acumen.AcmeError)
Parses a renewal information response.