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(())
}
}