HttpClientDefaults

Shared HTTP client configuration used by both Android and Desktop Ktor HttpClient setups.

These values are consumed by the platform-specific Koin modules (NetworkModule on Android, DesktopKoinModule on Desktop) when installing io.ktor.client.plugins.HttpTimeout and io.ktor.client.plugins.HttpRequestRetry.

Properties

Link copied to clipboard
const val API_BASE_URL: String

Base URL for the Meshtastic public API, installed via the DefaultRequest plugin.

Link copied to clipboard
const val MAX_RETRIES: Int = 3

Maximum number of automatic retries on server errors (5xx) and transient connection/IO failures.

Link copied to clipboard

Base URL for the nightly firmware channel. Absolute, and not routed through API_BASE_URL — the nightly build is published outside the API, flat at this host's root: index.json alongside every per-target artifact.

Link copied to clipboard

Base URL for the stable and alpha firmware channels, one directory per version at the root: <version>/firmware-<target>-<version>.<ext>.

Link copied to clipboard

Timeout in milliseconds for a whole request. Deliberately generous: the API has been measured taking 20-60s to serve github/firmware/list and resource/deviceHardware, and callers use stale-while-revalidate caching so nothing user-facing waits on this deadline.

Link copied to clipboard
const val TIMEOUT_MS: Long

Timeout in milliseconds for connect and socket operations.