Schnittstelle Connection

Alle Superschnittstellen:
AutoCloseable
Alle bekannten Implementierungsklassen:
DefaultConnection

public interface Connection extends AutoCloseable
Connects to the ACME server and offers different methods for invoking the API.

The actual way of communicating with the ACME server is intentionally left open. Implementations could use other means than HTTP, or could mock the communication for unit testing.

  • Methodendetails

    • resetNonce

      void resetNonce(Session session) throws AcmeException
      Resets the session nonce, by fetching a new one.
      Parameter:
      session - Session instance to fetch a nonce for
      Löst aus:
      AcmeException
    • sendRequest

      int sendRequest(URL url, Session session, @Nullable ZonedDateTime ifModifiedSince) throws AcmeException
      Sends a simple GET request.

      If the response code was not HTTP status 200, an AcmeException matching the error is raised.

      Parameter:
      url - URL to send the request to.
      session - Session instance to be used for tracking
      ifModifiedSince - ZonedDateTime to be sent as "If-Modified-Since" header, or null if this header is not to be used
      Gibt zurück:
      HTTP status that was returned
      Löst aus:
      AcmeException
    • sendCertificateRequest

      int sendCertificateRequest(URL url, Login login) throws AcmeException
      Sends a signed POST-as-GET request for a certificate resource. Requires a Login for the session and KeyPair. The Login account location is sent in a "kid" protected header.

      If the server does not return a 200 class status code, an AcmeException is raised matching the error.

      Parameter:
      url - URL to send the request to.
      login - Login instance to be used for signing and tracking.
      Gibt zurück:
      HTTP 200 class status that was returned
      Löst aus:
      AcmeException
    • sendSignedPostAsGetRequest

      Sends a signed POST-as-GET request. Requires a Login for the session and KeyPair. The Login account location is sent in a "kid" protected header.

      If the server does not return a 200 class status code, an AcmeException is raised matching the error.

      Parameter:
      url - URL to send the request to.
      login - Login instance to be used for signing and tracking.
      Gibt zurück:
      HTTP 200 class status that was returned
      Löst aus:
      AcmeException
    • sendSignedRequest

      int sendSignedRequest(URL url, JSONBuilder claims, Login login) throws AcmeException
      Sends a signed POST request. Requires a Login for the session and KeyPair. The Login account location is sent in a "kid" protected header.

      If the server does not return a 200 class status code, an AcmeException is raised matching the error.

      Parameter:
      url - URL to send the request to.
      claims - JSONBuilder containing claims.
      login - Login instance to be used for signing and tracking.
      Gibt zurück:
      HTTP 200 class status that was returned
      Löst aus:
      AcmeException
    • sendSignedRequest

      int sendSignedRequest(URL url, JSONBuilder claims, Session session, KeyPair keypair) throws AcmeException
      Sends a signed POST request. Only requires a Session. The KeyPair is sent in a "jwk" protected header field.

      If the server does not return a 200 class status code, an AcmeException is raised matching the error.

      Parameter:
      url - URL to send the request to.
      claims - JSONBuilder containing claims.
      session - Session instance to be used for tracking.
      keypair - KeyPair to be used for signing.
      Gibt zurück:
      HTTP 200 class status that was returned
      Löst aus:
      AcmeException
    • readJsonResponse

      Reads a server response as JSON object.
      Gibt zurück:
      The JSON response.
      Löst aus:
      AcmeException
    • readCertificates

      Reads a certificate and its chain of issuers.
      Gibt zurück:
      List of X.509 certificate and chain that was read.
      Löst aus:
      AcmeException
    • getRetryAfter

      Returns the Retry-After header if present.
      Seit:
      3.0.0
    • handleRetryAfter

      @Deprecated default void handleRetryAfter(String message) throws AcmeException
      Veraltet.
      Prefer to use getRetryAfter().
      Throws an AcmeRetryAfterException if the last status was HTTP Accepted and a Retry-After header was received.
      Parameter:
      message - Message to be sent along with the AcmeRetryAfterException
      Löst aus:
      AcmeException
    • getNonce

      Gets the nonce from the nonce header.
      Gibt zurück:
      Base64 encoded nonce, or empty if no nonce header was set
    • getLocation

      Gets a location from the Location header.

      Relative links are resolved against the last request's URL.

      Gibt zurück:
      Location URL
      Löst aus:
      AcmeProtocolException - if the location header is missing
    • getLastModified

      Returns the content of the last-modified header, if present.
      Gibt zurück:
      Date in the Last-Modified header, or empty if the server did not provide this information.
      Seit:
      2.10
    • getExpiration

      Returns the expiration date of the resource, if present.
      Gibt zurück:
      Expiration date, either from the Cache-Control or Expires header. If empty, the server did not provide an expiration date, or forbid caching.
      Seit:
      2.10
    • getLinks

      Gets one or more relation links from the header. The result is expected to be a URL.

      Relative links are resolved against the last request's URL.

      Parameter:
      relation - Link relation
      Gibt zurück:
      Collection of links. Empty if there was no such relation.
    • close

      void close()
      Closes the Connection, releasing all resources.
      Angegeben von:
      close in Schnittstelle AutoCloseable