sftp_server/
error.rs

1#[derive(thiserror::Error, Debug)]
2pub enum Error {
3	#[error("I/O error:  {0}")]
4	IO(#[from] std::io::Error),
5	#[error("SFTP protocol error:  {0}")]
6	Protocol(#[from] sftp_protocol::Error),
7	#[error("Binary encoding error:  {0}")]
8	Bincode(#[from] bincode::ErrorKind),
9	#[cfg_attr(feature = "standalone", error("SSH error:  {0}"))]
10	#[cfg(feature = "standalone")]
11	Thrussh(#[from] thrussh::Error),
12	#[error("Invalid path")]
13	InvalidPath,
14	#[error("UTF-8 path error")]
15	Utf8Path(#[from] camino::FromPathBufError),
16	#[error("metadata error")]
17	Metadata(#[from] nix::Error)
18}
19
20impl From<Box<bincode::ErrorKind>> for Error {
21	fn from(inner: Box<bincode::ErrorKind>) -> Self {
22		Self::Bincode(*inner)
23	}
24}
25