dlq-cli 0.1.0

dlq cli grpc client
Documentation
use log;
use color_eyre::eyre::Result;
use dlq_gateway_grpc::downloader::{downloader_client::DownloaderClient, UrlRequest};

pub struct Client {
    server: String,
}

impl Client {
    pub fn new(server: String) -> Self {
        Self { server }
    }
    async fn downloader(&self) -> Result<DownloaderClient<tonic::transport::Channel>> {
        log::info!("Getting DownloaderClient {}", &self.server);
        Ok(DownloaderClient::connect(self.server.clone()).await?)
    }
    pub async fn enque_youtube(&self, url: String) -> Result<()> {
        let mut dlr = self.downloader().await?;
        let req = tonic::Request::new(UrlRequest {
            url
        });
        log::debug!("Youtube Enqueing {:?}", req);
        let response = dlr.youtube(req).await?;
        log::debug!("{:?}", response);
        Ok(())
    }
}