update error messages in GET /images/<image>
This commit is contained in:
parent
085878f9f8
commit
92671eb0c8
22
src/main.rs
22
src/main.rs
|
@ -153,6 +153,7 @@ async fn login(
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[post("/logout")]
|
||||
async fn logout(cookies: &CookieJar<'_>) -> status::Custom<&'static str> {
|
||||
match cookies.get_private("token") {
|
||||
|
@ -323,7 +324,10 @@ async fn toggleperms(
|
|||
}
|
||||
|
||||
#[get("/images/<image>")]
|
||||
async fn get_image(image: String, mut db: Connection<Db>) -> Result<NamedFile, Status> {
|
||||
async fn get_image(
|
||||
image: String,
|
||||
mut db: Connection<Db>,
|
||||
) -> Result<NamedFile, status::Custom<&'static str>> {
|
||||
let mut split = image.split('.').collect::<Vec<&str>>();
|
||||
let format = split.pop().unwrap();
|
||||
let image = split.join(".");
|
||||
|
@ -351,13 +355,21 @@ async fn get_image(image: String, mut db: Connection<Db>) -> Result<NamedFile, S
|
|||
Ok(file)
|
||||
}
|
||||
Err(why) => Err(match &why.to_string()[..] {
|
||||
"Format error decoding Png: Invalid PNG signature." => Status::NotAcceptable,
|
||||
_ => Status::InternalServerError,
|
||||
"Format error decoding Png: Invalid PNG signature." => {
|
||||
status::Custom(Status::NotAcceptable, "That file isn't an image.")
|
||||
}
|
||||
_ => status::Custom(Status::InternalServerError, "Unknown decoding error"),
|
||||
}),
|
||||
},
|
||||
Err(_) => Err(Status::NotFound),
|
||||
Err(_) => Err(status::Custom(
|
||||
Status::InternalServerError,
|
||||
"Unknown decoding error",
|
||||
)),
|
||||
},
|
||||
Err(_) => Err(Status::ImATeapot),
|
||||
Err(_) => Err(status::Custom(
|
||||
Status::InternalServerError,
|
||||
"File not found",
|
||||
)),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue