xmaster 1.2.0

Enterprise-grade X/Twitter CLI — post, reply, like, retweet, DM, search, and more
use crate::config::AppConfig;
use reqwest::Client;
use std::time::Duration;

pub struct AppContext {
    pub config: AppConfig,
    pub client: Client,
}

impl AppContext {
    pub fn new(config: AppConfig) -> Self {
        let client = Client::builder()
            .pool_idle_timeout(Duration::from_secs(60))
            .tcp_nodelay(true)
            .timeout(Duration::from_secs(config.settings.timeout))
            .user_agent(format!("xmaster/{}", env!("CARGO_PKG_VERSION")))
            .build()
            .expect("failed to build HTTP client");
        Self { config, client }
    }
}