Got download functionality working
This commit is contained in:
@@ -196,6 +196,7 @@ impl CommitManager {
|
|||||||
let auth_api = prsr.retrieve_api(parsers::api_parser::APIType::Auth);
|
let auth_api = prsr.retrieve_api(parsers::api_parser::APIType::Auth);
|
||||||
let token = self.parse_token(&auth_api).await;
|
let token = self.parse_token(&auth_api).await;
|
||||||
println!("Message: {}", token.message);
|
println!("Message: {}", token.message);
|
||||||
|
|
||||||
let api = prsr.retrieve_api(parsers::api_parser::APIType::Main);
|
let api = prsr.retrieve_api(parsers::api_parser::APIType::Main);
|
||||||
|
|
||||||
let mut dwn_loader = syncers::download::Download { api: api.clone() };
|
let mut dwn_loader = syncers::download::Download { api: api.clone() };
|
||||||
@@ -203,8 +204,8 @@ impl CommitManager {
|
|||||||
id: song_id,
|
id: song_id,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let result_fut = dwn_loader.download_song(&token, &song);
|
|
||||||
match Runtime::new().unwrap().block_on(result_fut) {
|
match dwn_loader.download_song(&token, &song).await {
|
||||||
Ok(o) => {
|
Ok(o) => {
|
||||||
println!("Success");
|
println!("Success");
|
||||||
let filename = String::from("audio")
|
let filename = String::from("audio")
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ fn retrieve_url_reg(api: &models::api::Api) -> String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn retrieve_url_with_id(api: &models::api::Api, id: &uuid::Uuid) -> String {
|
fn retrieve_url_with_id(api: &models::api::Api, id: &uuid::Uuid) -> String {
|
||||||
let url = format!("{}/api/{}/{}/{}", api.url, api.version, api.endpoint, id);
|
let url = format!("{}api/{}/{}/{}", api.url, api.version, api.endpoint, id);
|
||||||
|
|
||||||
url
|
url
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ impl Download {
|
|||||||
token: &icarus_models::token::AccessToken,
|
token: &icarus_models::token::AccessToken,
|
||||||
song: &icarus_models::song::Song,
|
song: &icarus_models::song::Song,
|
||||||
) -> Result<String, MyError> {
|
) -> Result<String, MyError> {
|
||||||
self.api.endpoint = String::from("song/data/download");
|
self.api.endpoint = String::from("song/download");
|
||||||
let url = syncers::common::retrieve_url(&self.api, true, &song.id);
|
let url = syncers::common::retrieve_url(&self.api, true, &song.id);
|
||||||
let access_token = token.bearer_token();
|
let access_token = token.bearer_token();
|
||||||
|
|
||||||
@@ -36,8 +36,7 @@ impl Download {
|
|||||||
{
|
{
|
||||||
Ok(rep) => match rep.status() {
|
Ok(rep) => match rep.status() {
|
||||||
reqwest::StatusCode::OK => {
|
reqwest::StatusCode::OK => {
|
||||||
let data = rep.text();
|
match rep.text().await {
|
||||||
match data.await {
|
|
||||||
Ok(e) => Ok(e),
|
Ok(e) => Ok(e),
|
||||||
Err(er) => Err(MyError::Other(er.to_string())),
|
Err(er) => Err(MyError::Other(er.to_string())),
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user