Package-level declarations
Types
Default LogSink writing to Android's Logcat under the kenwork.<category> tag.
Supplies (and refreshes) the authorization applied to requests that don't carry their own. Mirrors SwiftyNetwork's AuthorizationProvider.
How an outgoing request is authorized. Mirrors SwiftyNetwork's AuthorizationType.
The default RetryPolicy: retries transient failures — timeouts, lost connectivity, 429, and 5xx — with exponential backoff and full jitter, honoring a server Retry-After hint when present. Non-idempotent methods (POST/PATCH) are not retried unless retryNonIdempotent.
A decodable placeholder for endpoints that return no meaningful body (e.g. 204 No Content). Mirrors SwiftyNetwork's EmptyResponse.
HTTP request methods supported by NetworkEndpoint. Mirrors SwiftyNetwork's HTTPMethod.
Lightweight, dependency-free logging facade for the library. Mirrors SwiftyNetwork's Logger.
Functional area a log line belongs to. Mirrors SwiftyNetwork's Logger.Category.
Verbosity levels for KenworkLogger. Mirrors SwiftyNetwork's LogLevel.
Destination for log lines. Replace KenworkLogger.sink to route logs elsewhere.
Coroutine-based HTTP client built on Ktor + OkHttp. The Kotlin counterpart of SwiftyNetwork's NetworkClient.
Immutable configuration for a NetworkClient. Mirrors SwiftyNetwork's NetworkClientConfiguration.
Marker for an ApiClient usable as a repository's remote data source. Mirrors SwiftyNetwork's NetworkDataSource.
A type-safe description of one HTTP endpoint. Mirrors SwiftyNetwork's NetworkEndpoint.
The error type surfaced by NetworkClient. Mirrors SwiftyNetwork's NetworkError.
A single observed network request outcome, for telemetry/analytics. The Kotlin counterpart of Novalingo's NetworkTelemetryEvent, kept transport-agnostic so any analytics backend can consume it.
Receives NetworkEvents emitted by NetworkClient. Wire this to your analytics pipeline.
Observes device connectivity via ConnectivityManager. The Kotlin counterpart of SwiftyNetwork's NetworkMonitor (which wraps NWPathMonitor).
Coarse network reachability state. Mirrors SwiftyNetwork's NetworkReachability.
An AuthorizationProvider that holds an OAuth bearer access token and refreshes it via refreshTokenHandler. Mirrors SwiftyNetwork's OAuthAuthorizationProvider.
A connectivity gate the retry path can wait on. Implemented by NetworkMonitor (via NetworkMonitor.asReachabilityGate), but kept abstract so NetworkClient doesn't depend on any concrete connectivity source and can be tested without one.
Supplies extra request headers computed fresh for each attempt — the hook for trace-context propagation headers (W3C traceparent/tracestate, baggage, or an equivalent from any other tracing system) derived from whatever context is active right now.
Wraps a single request attempt, giving observability tooling — tracing in particular — a place to start a span/segment with an accurate timestamp, propagate the currently active context, and record the outcome, all without NetworkClient depending on any specific tracing API.
Decides whether (and after how long) a failed request should be retried.
Certificate (public-key) pinning configuration. Mirrors SwiftyNetwork's SSLPinningConfiguration, implemented on top of OkHttp's CertificatePinner.
An optional extension of LogSink for destinations that want structured key-value attributes alongside the formatted message — e.g. to populate OpenTelemetry log record Attributes, or any other structured-logging backend, instead of only a flat string.