pub struct ArchClient { /* private fields */ }Expand description
What: Main client for arch-toolkit operations.
Inputs: None (created via new() or builder())
Output: ArchClient instance ready for use
Details:
- Wraps
reqwest::Clientwith arch-toolkit-specific configuration - Provides access to AUR operations via
aur()method - Handles rate limiting automatically
- Configurable via
ArchClientBuilder
Implementations§
Source§impl ArchClient
impl ArchClient
Sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
What: Create a new ArchClient with default configuration.
Inputs: None
Output:
Result<ArchClient>with default settings, or error if client creation fails
Details:
- Default timeout: 30 seconds
- Default user agent:
arch-toolkit/{version} - Uses existing rate limiting (500ms base delay)
§Errors
- Returns
Err(ArchToolkitError::Network)ifreqwest::Clientcreation fails
Sourcepub const fn builder() -> ArchClientBuilder
pub const fn builder() -> ArchClientBuilder
What: Create a builder for custom ArchClient configuration.
Inputs: None
Output:
ArchClientBuilderwith default values that can be customized
Details:
- Starts with sensible defaults
- Use builder methods to customize timeout, user agent, etc.
- Call
build()to create theArchClient
Sourcepub const fn aur(&self) -> Aur<'_>
pub const fn aur(&self) -> Aur<'_>
What: Get access to AUR operations.
Inputs: None
Output:
Aurwrapper that provides AUR-specific methods
Details:
- Returns a reference wrapper that provides
search(),info(),comments(),pkgbuild()methods - The
Aurwrapper uses this client’s HTTP client and configuration
Sourcepub const fn invalidate_cache(&self) -> CacheInvalidator<'_>
pub const fn invalidate_cache(&self) -> CacheInvalidator<'_>
What: Invalidate cache entries.
Inputs: None
Output:
CacheInvalidatorbuilder for cache invalidation operations
Details:
- Returns a builder that allows invalidating specific cache entries
- Returns a no-op builder if caching is not enabled
Sourcepub async fn health_check(&self) -> Result<bool>
pub async fn health_check(&self) -> Result<bool>
What: Quick connectivity check for archlinux.org services.
Inputs: None
Output:
Result<bool>-trueif services are operational,falseor error otherwise
Details:
- Performs lightweight HTTP request to AUR RPC API
- Uses shorter timeout than regular operations (5s default)
- Does not count against rate limiting quota
- Useful for pre-flight connectivity checks
§Errors
- Returns
Err(ArchToolkitError::Network)if the HTTP request fails
Sourcepub async fn health_status(&self) -> Result<HealthStatus>
pub async fn health_status(&self) -> Result<HealthStatus>
What: Detailed health status for archlinux.org services.
Inputs: None
Output:
Result<HealthStatus>with detailed service status and latency
Details:
- Performs lightweight HTTP request to AUR RPC API
- Measures latency and determines service status
- Uses shorter timeout than regular operations
- Returns
HealthStatus::Degradedif latency > 2 seconds
§Errors
- Returns
Err(ArchToolkitError::Network)if the HTTP request fails
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ArchClient
impl !RefUnwindSafe for ArchClient
impl Send for ArchClient
impl Sync for ArchClient
impl Unpin for ArchClient
impl !UnwindSafe for ArchClient
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