1use log;
2use color_eyre::eyre::Result;
3use dlq_gateway_grpc::downloader::{downloader_client::DownloaderClient, UrlRequest};
4
5pub struct Client {
6 server: String,
7}
8
9impl Client {
10 pub fn new(server: String) -> Self {
11 Self { server }
12 }
13 async fn downloader(&self) -> Result<DownloaderClient<tonic::transport::Channel>> {
14 log::info!("Getting DownloaderClient {}", &self.server);
15 Ok(DownloaderClient::connect(self.server.clone()).await?)
16 }
17 pub async fn enque_youtube(&self, url: String) -> Result<()> {
18 let mut dlr = self.downloader().await?;
19 let req = tonic::Request::new(UrlRequest {
20 url
21 });
22 log::debug!("Youtube Enqueing {:?}", req);
23 let response = dlr.youtube(req).await?;
24 log::debug!("{:?}", response);
25 Ok(())
26 }
27}