The trailing-lambda constructor configures the client through the same validated options as Java, where a null property keeps the default:
RepostClient {
apiKey = System.getenv("REPOST_SEND_API_KEY")
operationTimeout = Duration.ofSeconds(30)
maxAttempts = 4
maxInFlightOperations = 128
}Credential and endpoint precedence#
Credential precedence, highest first: an apiKeyProvider → a fixed apiKey → the REPOST_SEND_API_KEY environment variable → the REPOST_TOKEN environment variable. With none set, the first send fails with a CONFIGURATION error and never touches the network. Base URI: an explicit baseUri → REPOST_API_URL → the default https://api.repost.sh. Plain http:// is accepted only for loopback hosts.
Defaults#
The defaults match the Java SDK: 120s operation deadline, 30s per attempt, 4 attempts, 256 in-flight operations, a 64 MiB byte budget. The config object never prints your credential.
Proxy, TLS, and mTLS#
Build HttpTransportOptions and set it via the httpTransportOptions property: an explicit proxy with an optional credentials provider, a borrowed SSLContext for a custom truststore or mutual TLS, and an allowlisted TLS protocol (TLS 1.2/1.3) and cipher list. HTTP redirects are disabled.