pub struct PersistError { /* private fields */ }Available on crate feature
fs only.Expand description
A failed StoredFile::persist: the error, and the upload, untouched,
so the caller can try another name (D-154). Converting it into a
FormError (as ? does) drops the file, which deletes it.
§Examples
fn save(file: form_net::StoredFile, dest: &std::path::Path) -> Result<(), form_net::FormError> {
file.persist(dest)?; // on failure the file is dropped and deleted
Ok(())
}Implementations§
Source§impl PersistError
impl PersistError
Sourcepub const fn error(&self) -> FormError
pub const fn error(&self) -> FormError
Why persist failed.
§Examples
let body = b"--X\r\nContent-Disposition: form-data; name=f; filename=a.txt\r\n\r\nhello\r\n--X--";
let mut upload = form_net::read_multipart(b"multipart/form-data; boundary=X", &body[..])?;
std::fs::write(dir.join("a.txt"), b"taken")?;
let e = upload.take_file("f").unwrap().persist(&dir.join("a.txt")).unwrap_err();
assert_eq!(e.error().code(), "store.destination_exists");Sourcepub fn into_file(self) -> StoredFile
pub fn into_file(self) -> StoredFile
The upload, to persist under another name.
§Examples
let body = b"--X\r\nContent-Disposition: form-data; name=f; filename=a.txt\r\n\r\nhello\r\n--X--";
let mut upload = form_net::read_multipart(b"multipart/form-data; boundary=X", &body[..])?;
std::fs::write(dir.join("a.txt"), b"taken")?;
let e = upload.take_file("f").unwrap().persist(&dir.join("a.txt")).unwrap_err();
e.into_file().persist(&dir.join("b.txt"))?;
assert_eq!(std::fs::read(dir.join("b.txt"))?, b"hello");Trait Implementations§
Source§impl Debug for PersistError
impl Debug for PersistError
Source§impl Display for PersistError
impl Display for PersistError
Source§impl Error for PersistError
impl Error for PersistError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<PersistError> for FormError
impl From<PersistError> for FormError
Source§fn from(e: PersistError) -> FormError
fn from(e: PersistError) -> FormError
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for PersistError
impl !UnwindSafe for PersistError
impl Forget for PersistError
impl Freeze for PersistError
impl Move for PersistError
impl Send for PersistError
impl Sync for PersistError
impl Unpin for PersistError
impl UnsafeUnpin for PersistError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more