twitch_highway 0.0.4

Twitch Api reqest Http
Documentation
use std::sync::Arc;

use asknothingx2_util::oauth::{AccessToken, ClientId};
use url::Url;

mod get_user;
pub use get_user::*;

#[derive(Debug)]
pub struct UserAPI {
    access_token: Arc<AccessToken>,
    client_id: Arc<ClientId>,
    url: Arc<Url>,
}

impl UserAPI {
    pub fn new(access_token: &AccessToken, client_id: &ClientId) -> Self {
        Self {
            access_token: Arc::new(access_token.clone()),
            client_id: Arc::new(client_id.clone()),
            url: Arc::new(Url::parse("https://api.twitch.tv/helix/users").unwrap()),
        }
    }

    pub fn set_url(mut self, url: Url) -> Self {
        self.url = Arc::new(url);
        self
    }

    pub fn get_users(&self) -> GetUsers {
        GetUsers::new(
            self.access_token.clone(),
            self.client_id.clone(),
            self.url.clone(),
        )
    }
}