fix: caught 500 if no permission to access dir

releated #4
This commit is contained in:
sigoden 2022-06-01 19:59:35 +08:00
parent f43d0b646d
commit 35ed4394df

View file

@ -241,7 +241,13 @@ impl InnerService {
async fn handle_ls_dir(&self, path: &Path, exist: bool, res: &mut Response) -> BoxResult<()> {
let mut paths: Vec<PathItem> = vec![];
if exist {
let mut rd = fs::read_dir(path).await?;
let mut rd = match fs::read_dir(path).await {
Ok(rd) => rd,
Err(_) => {
status!(res, StatusCode::FORBIDDEN);
return Ok(());
}
};
while let Some(entry) = rd.next_entry().await? {
let entry_path = entry.path();
if let Ok(Some(item)) = self.to_pathitem(entry_path, path.to_path_buf()).await {