fix serving files from readonly fs

This commit is contained in:
Robin Appelman 2023-02-19 18:11:41 +01:00
commit 3bd95c98d2
2 changed files with 15 additions and 10 deletions

View file

@ -103,16 +103,21 @@ impl ExportConfig {
err: e, err: e,
path: self.path.clone(), path: self.path.clone(),
})?; })?;
let file = OpenOptions::new()
.read(true) let readonly = self.readonly || meta.permissions().readonly();
.write(!self.readonly) let mut opt = OpenOptions::new();
.open(&self.path) opt.read(true);
.map_err(|e| HandshakeError::Open { if !readonly {
err: e, opt.write(true);
path: self.path.clone(), }
})?;
let file = opt.open(&self.path).map_err(|e| HandshakeError::Open {
err: e,
path: self.path.clone(),
})?;
Ok(Export { Ok(Export {
readonly: self.readonly || meta.permissions().readonly(), readonly,
size: meta.len(), size: meta.len(),
data: file, data: file,
resizeable: false, resizeable: false,