Compare commits
2 commits
df69f4160a
...
70dffdec73
Author | SHA1 | Date | |
---|---|---|---|
70dffdec73 | |||
ae7b890940 |
4 changed files with 23 additions and 17 deletions
|
@ -3,6 +3,5 @@ repos:
|
|||
rev: v0.1.0
|
||||
hooks:
|
||||
- id: cargo-fmt
|
||||
- id: cargo-check
|
||||
- id: cargo-clippy
|
||||
args: ["--", "-D", "warnings"]
|
||||
args: ["--all", "--all-features", "--", "-D", "warnings"]
|
||||
|
|
23
Cargo.toml
23
Cargo.toml
|
@ -2,7 +2,7 @@
|
|||
name = "musixmatch-inofficial"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
authors = ["ThetaDev"]
|
||||
authors = ["ThetaDev <t.testboy@gmail.com>"]
|
||||
license = "MIT"
|
||||
description = "Inofficial client for the Musixmatch API"
|
||||
keywords = ["music", "lyrics"]
|
||||
|
@ -21,22 +21,31 @@ rustls-tls-webpki-roots = ["reqwest/rustls-tls-webpki-roots"]
|
|||
rustls-tls-native-roots = ["reqwest/rustls-tls-native-roots"]
|
||||
|
||||
[dependencies]
|
||||
reqwest = {version = "0.11.11", default-features = false, features = ["json", "gzip", "cookies"]}
|
||||
reqwest = { version = "0.11.11", default-features = false, features = [
|
||||
"json",
|
||||
"gzip",
|
||||
"cookies",
|
||||
] }
|
||||
tokio = { version = "1.20.0" }
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json = "1.0.85"
|
||||
thiserror = "1.0.36"
|
||||
log = "0.4.17"
|
||||
time = {version = "0.3.15", features = ["macros", "formatting", "serde", "serde-well-known"]}
|
||||
time = { version = "0.3.15", features = [
|
||||
"macros",
|
||||
"formatting",
|
||||
"serde",
|
||||
"serde-well-known",
|
||||
] }
|
||||
hmac = "0.12.1"
|
||||
sha1 = "0.10.5"
|
||||
rand = "0.8.5"
|
||||
base64 = "0.13.0"
|
||||
base64 = "0.21.0"
|
||||
|
||||
[dev-dependencies]
|
||||
ctor = "0.1.23"
|
||||
rstest = {version = "0.15.0", default-features = false}
|
||||
env_logger = "0.9.1"
|
||||
ctor = "0.2.0"
|
||||
rstest = { version = "0.17.0", default-features = false }
|
||||
env_logger = "0.10.0"
|
||||
dotenvy = "0.15.5"
|
||||
tokio = { version = "1.20.0", features = ["macros"] }
|
||||
futures = "0.3.21"
|
||||
|
|
|
@ -415,15 +415,12 @@ fn input(prompt: &str) -> String {
|
|||
stdin().read_line(&mut input).expect("Failed to read line");
|
||||
// Remove trailing newline
|
||||
input.pop();
|
||||
|
||||
return input;
|
||||
input
|
||||
}
|
||||
|
||||
fn input_pwd(prompt: &str) -> String {
|
||||
print!("{}", prompt);
|
||||
stdout().flush().expect("Failed to flush stdout!");
|
||||
|
||||
let input = rpassword::read_password().expect("Failed to read password");
|
||||
|
||||
return input;
|
||||
rpassword::read_password().expect("Failed to read password")
|
||||
}
|
||||
|
|
|
@ -13,6 +13,7 @@ use std::sync::{Arc, RwLock};
|
|||
|
||||
pub use error::Error;
|
||||
|
||||
use base64::Engine;
|
||||
use hmac::{Hmac, Mac};
|
||||
use log::{error, info, warn};
|
||||
use rand::{seq::SliceRandom, Rng};
|
||||
|
@ -425,7 +426,7 @@ fn sign_url_with_date(url: &mut Url, date: OffsetDateTime) {
|
|||
mac.update(date.format(YMD_FORMAT).unwrap_or_default().as_bytes());
|
||||
|
||||
let sig = mac.finalize().into_bytes();
|
||||
let sig_b64 = base64::encode(sig) + "\n";
|
||||
let sig_b64 = base64::engine::general_purpose::STANDARD.encode(sig) + "\n";
|
||||
|
||||
url.query_pairs_mut()
|
||||
.append_pair("signature", &sig_b64)
|
||||
|
|
Loading…
Reference in a new issue