// SPDX-License-Identifier: GPL-3.0-only
//! Crate-wide constants. Defaults here are applied by [`crate::http::ClientConfig::builder`].
use Duration;
/// Base URL used unless overridden with `ClientConfig::builder().base_url(..)`.
/// Site root: endpoints live under both `login/` and `secure/`, so paths are root-relative
/// (e.g. `login/LoginService.aspx/ProcessLogin`).
pub const DEFAULT_BASE_URL: &str = "https://provident.meterconnex.com/";
/// Base URL of Provident's corporate site, which serves the published rates and fees, unless
/// overridden with `ClientConfig::builder().rates_base_url(..)`.
pub const DEFAULT_RATES_BASE_URL: &str = "https://pemi.com/";
/// `User-Agent` sent with every request unless overridden.
pub const USER_AGENT: &str = concat!;
/// Total per-request timeout (connect + send + receive).
pub const DEFAULT_TIMEOUT: Duration = from_secs;
/// Timeout for establishing a TCP/TLS connection.
pub const DEFAULT_CONNECT_TIMEOUT: Duration = from_secs;
/// MIME type used for `Accept` and `Content-Type`.
pub const APPLICATION_JSON: &str = "application/json";
/// MIME type of form-encoded request bodies.
pub const APPLICATION_FORM: &str = "application/x-www-form-urlencoded";
/// Body sent by non-GET [`crate::http::Request::page_method`]s when no arguments are given.
pub const EMPTY_JSON_OBJECT: & = b"{}";
/// Maximum number of response body bytes kept in [`crate::http::Error`] for diagnostics.
pub const ERROR_BODY_PREVIEW_LIMIT: usize = 4096;