Browse Source

more verbose permission denied error

be a bit more verbose about why a file could not be created when it is
caused by a permission denied error.
pull/2811/head
Stefan Melmuk 2 years ago
parent
commit
2dd5086916
No known key found for this signature in database GPG Key ID: 817020C608FE9C09
  1. 13
      src/util.rs

13
src/util.rs

@ -1,7 +1,7 @@
// //
// Web Headers and caching // Web Headers and caching
// //
use std::io::Cursor; use std::io::{Cursor, ErrorKind};
use rocket::{ use rocket::{
fairing::{Fairing, Info, Kind}, fairing::{Fairing, Info, Kind},
@ -311,7 +311,16 @@ pub fn file_exists(path: &str) -> bool {
pub fn write_file(path: &str, content: &[u8]) -> Result<(), crate::error::Error> { pub fn write_file(path: &str, content: &[u8]) -> Result<(), crate::error::Error> {
use std::io::Write; use std::io::Write;
let mut f = File::create(path)?; let mut f = match File::create(path) {
Ok(file) => file,
Err(e) => {
if e.kind() == ErrorKind::PermissionDenied {
error!("Can't create '{}': Permission denied", path);
}
return Err(From::from(e));
}
};
f.write_all(content)?; f.write_all(content)?;
f.flush()?; f.flush()?;
Ok(()) Ok(())

Loading…
Cancel
Save