Fix URL encoding for CDN
This commit is contained in:
parent
c479c24928
commit
7f7a471ca4
2 changed files with 5 additions and 3 deletions
|
@ -8,7 +8,7 @@ edition = "2018"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tokio = { version = "1.0", features = ["full"] }
|
tokio = { version = "1.0", features = ["full"] }
|
||||||
axum = { version = "0.2.8", features = ["headers"] }
|
axum = { version = "0.2.8", features = ["headers", "multipart"] }
|
||||||
tower = { version = "0.4", features = ["util", "timeout"] }
|
tower = { version = "0.4", features = ["util", "timeout"] }
|
||||||
tower-http = { version = "0.1", features = ["add-extension", "trace", "fs", "set-header"] }
|
tower-http = { version = "0.1", features = ["add-extension", "trace", "fs", "set-header"] }
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
|
@ -17,8 +17,9 @@ sqlx = { version = "0.3", features = [ "mysql" ] }
|
||||||
rand = "0.8.0"
|
rand = "0.8.0"
|
||||||
structopt = "0.3.22"
|
structopt = "0.3.22"
|
||||||
toml = "0.5.8"
|
toml = "0.5.8"
|
||||||
reqwest = { version = "0.11", features = ["stream", "multipart"] }
|
reqwest = { version = "0.11", features = ["stream", "multipart", "json"] }
|
||||||
new_mime_guess = "3.0.2"
|
new_mime_guess = "3.0.2"
|
||||||
headers = "0.3.5"
|
headers = "0.3.5"
|
||||||
url = {version = "2.2.2", features = ["serde"]}
|
url = {version = "2.2.2", features = ["serde"]}
|
||||||
askama = "0.10"
|
askama = "0.10"
|
||||||
|
urlencoding = "2.1.0"
|
|
@ -20,6 +20,7 @@ pub fn routes() -> Router<BoxRoute> {
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn image(Path((user, filename)): Path<(String, String)>, Extension(db_pool): Extension<MySqlPool>, Extension(vars): Extension<ConfVars>) -> Result<impl IntoResponse, StatusCode> {
|
async fn image(Path((user, filename)): Path<(String, String)>, Extension(db_pool): Extension<MySqlPool>, Extension(vars): Extension<ConfVars>) -> Result<impl IntoResponse, StatusCode> {
|
||||||
|
let filename = urlencoding::decode(&filename).map_err(|err| StatusCode::INTERNAL_SERVER_ERROR)?.into_owned();
|
||||||
let q = sql::get_cid(user, filename.clone(), &db_pool).await;
|
let q = sql::get_cid(user, filename.clone(), &db_pool).await;
|
||||||
match q {
|
match q {
|
||||||
Ok(cid) => {
|
Ok(cid) => {
|
||||||
|
|
Loading…
Reference in a new issue