pub struct ClientConfig {
pub user_agent: String,
pub timeout: Duration,
pub max_retries: u32,
pub initial_retry_delay: Duration,
pub max_retry_delay: Duration,
pub rate_limit_margin: f64,
pub github_api_url: String,
}Expand description
Configuration for GitHub API client behavior.
Controls timeouts, retry behavior, rate limiting, and API endpoints.
§Examples
use github_bot_sdk::client::ClientConfig;
use std::time::Duration;
let config = ClientConfig::default()
.with_timeout(Duration::from_secs(60))
.with_max_retries(5);Fields§
§user_agent: StringUser agent string for API requests (required by GitHub)
timeout: DurationRequest timeout duration
max_retries: u32Maximum number of retry attempts for transient failures
initial_retry_delay: DurationBase delay for exponential backoff retries
max_retry_delay: DurationMaximum delay between retries
rate_limit_margin: f64Rate limit safety margin (0.0 to 1.0) - buffer before hitting limits
github_api_url: StringGitHub API base URL
Implementations§
Source§impl ClientConfig
impl ClientConfig
Sourcepub fn builder() -> ClientConfigBuilder
pub fn builder() -> ClientConfigBuilder
Create a new builder for client configuration.
Sourcepub fn with_user_agent(self, user_agent: impl Into<String>) -> Self
pub fn with_user_agent(self, user_agent: impl Into<String>) -> Self
Set the user agent string.
Sourcepub fn with_timeout(self, timeout: Duration) -> Self
pub fn with_timeout(self, timeout: Duration) -> Self
Set the request timeout.
Sourcepub fn with_max_retries(self, max_retries: u32) -> Self
pub fn with_max_retries(self, max_retries: u32) -> Self
Set the maximum number of retries.
Sourcepub fn with_rate_limit_margin(self, margin: f64) -> Self
pub fn with_rate_limit_margin(self, margin: f64) -> Self
Set the rate limit safety margin.
Sourcepub fn with_github_api_url(self, url: impl Into<String>) -> Self
pub fn with_github_api_url(self, url: impl Into<String>) -> Self
Set the GitHub API base URL.
Trait Implementations§
Source§impl Clone for ClientConfig
impl Clone for ClientConfig
Source§fn clone(&self) -> ClientConfig
fn clone(&self) -> ClientConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ClientConfig
impl Debug for ClientConfig
Auto Trait Implementations§
impl Freeze for ClientConfig
impl RefUnwindSafe for ClientConfig
impl Send for ClientConfig
impl Sync for ClientConfig
impl Unpin for ClientConfig
impl UnsafeUnpin for ClientConfig
impl UnwindSafe for ClientConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more