added handling for other potential errors

This commit is contained in:
Ben Botwin 2026-02-15 11:24:40 -05:00 committed by Ellis Git
parent fc00b96d8b
commit 18c4be869f

View file

@ -183,12 +183,27 @@ pub(crate) async fn get_content_as_filename_route(
media_id: &body.media_id,
};
let Ok(FileMeta {
let FileMeta {
content,
content_type,
content_disposition,
}) = fetch_file(&services, &mxc, user, body.timeout_ms, None).await else {
return Err!(Request(NotFound("Media not found.")));
} = match fetch_file(&services, &mxc, user, body.timeout_ms, None).await {
Ok(meta) => meta,
Err(e) => {
match e {
conduwuit::Error::Io(e) => {
match e.kind() {
std::io::ErrorKind::PermissionDenied =>
// to not leak that a file exists
return Err!(Request(NotFound("Media not found."))),
std::io::ErrorKind::NotFound =>
return Err!(Request(NotFound("Media not found."))),
_ => return Err!(Request(Unknown("Unknown error when fetching file."))),
}
},
_ => return Err!(Request(Unknown("Unknown error when fetching file."))),
}
}
};
Ok(get_content_as_filename::v1::Response {