use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error(transparent)]
Stream(#[from] std::io::Error),
#[error(transparent)]
BoxError(#[from] Box<dyn std::error::Error + Send + Sync>),
#[error("invalid part header")]
InvalidHeader,
#[error("invalid content disposition")]
InvalidContentDisposition,
#[error("payload is too large, limit to `{0}`")]
PayloadTooLarge(u64),
#[error("file is too large, limit to `{0}`")]
FileTooLarge(usize),
#[error("field is too large, limit to `{0}`")]
FieldTooLarge(usize),
#[error("parts is too many, limit to `{0}`")]
PartsTooMany(usize),
#[error("fields is too many, limit to `{0}`")]
FieldsTooMany(usize),
#[error("files is too many, limit to `{0}`")]
FilesTooMany(usize),
#[error("field name is too long, limit to `{0}`")]
FieldNameTooLong(usize),
#[error("`{0}`")]
TryLockError(String),
}