diff options
Diffstat (limited to 'man/cepis_client.Rd')
| -rw-r--r-- | man/cepis_client.Rd | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/man/cepis_client.Rd b/man/cepis_client.Rd new file mode 100644 index 0000000..f8644e7 --- /dev/null +++ b/man/cepis_client.Rd @@ -0,0 +1,64 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/client.R +\name{cepis_client} +\alias{cepis_client} +\title{Build a client for the cep.is API} +\usage{ +cepis_client( + base_url = DEFAULT_BASE_URL, + timeout = 10, + max_attempts = 3L, + backoff_base = 0.5, + backoff_max = 8, + total_timeout = NULL, + user_agent = NULL +) +} +\arguments{ +\item{base_url}{Where the API lives. Point it at a local instance (the API +repo brings one up on \verb{http://localhost:8080} with \verb{just up}) or at a +test server. It is the only parameter that usually changes between +environments. Trailing slashes are stripped, so it cannot produce +doubled separators that some proxies normalise and others 404.} + +\item{timeout}{Seconds allowed for \strong{one attempt}, connection and +transfer together. It is not a cap on the whole call, since a call may +make several attempts; that cap is \code{total_timeout}.} + +\item{max_attempts}{How many attempts in total, counting the first. \code{1} +disables retrying. The default of \code{3} covers the common case (one +transient failure) without turning a real outage into a long wait.} + +\item{backoff_base}{Base of the exponential wait, in seconds. The actual +wait is drawn from \verb{[0, base * 2^(n - 1)]} — \emph{full jitter}. The +randomness is not decoration: without it, N clients that fail together +come back together and reproduce the spike that took the service down.} + +\item{backoff_max}{Cap on each individual wait, in seconds. It applies to +a server-sent \code{Retry-After} too, or a \code{Retry-After: 3600} from a +misconfigured proxy would park the session for an hour.} + +\item{total_timeout}{Cap on the whole call, attempts and waits included. +\code{NULL} leaves \code{max_attempts} as the only bound. Set it in code serving a +web request: without it the worst case is \code{max_attempts * timeout} plus +the sum of the backoffs.} + +\item{user_agent}{Overrides the \code{User-Agent}. The default identifies the +package and its version, which is what lets the server diagnose an old +client misbehaving.} +} +\value{ +An object of class \code{cepis_client}, to pass as the \code{client} +argument of \code{\link[=cep_lookup]{cep_lookup()}}, \code{\link[=cep_lookup_many]{cep_lookup_many()}} and \code{\link[=cep_health]{cep_health()}}. +} +\description{ +Holds the configuration and nothing else: no connection, no state between +calls. Build one and reuse it, or skip it entirely — \code{\link[=cep_lookup]{cep_lookup()}}, +\code{\link[=cep_lookup_many]{cep_lookup_many()}} and \code{\link[=cep_health]{cep_health()}} fall back to a shared default +client built with these defaults. +} +\examples{ +client <- cepis_client(base_url = "http://localhost:8080", timeout = 5) +client$max_attempts + +} |