1
0
mirror of https://github.com/fafhrd91/actix-web synced 2025-06-26 06:57:43 +02:00

build(deps): update derive_more to v1.0 (#3453)

* build(deps): update derive_more to v1.0

* refactor: use from derive module

---------

Co-authored-by: Rob Ede <robjtede@icloud.com>
This commit is contained in:
John Vandenberg
2024-08-18 22:17:03 +08:00
committed by GitHub
parent 78ac5cf482
commit d6bdfac1b9
40 changed files with 204 additions and 194 deletions

View File

@ -2,6 +2,8 @@
## Unreleased
- Minimum supported Rust version (MSRV) is now 1.75.
## 0.7.2
- Fix re-exported version of `actix-multipart-derive`.

View File

@ -42,7 +42,7 @@ actix-multipart-derive = { version = "=0.7.0", optional = true }
actix-utils = "3"
actix-web = { version = "4", default-features = false }
derive_more = "0.99.5"
derive_more = { version = "1", features = ["display", "error", "from"] }
futures-core = { version = "0.3.17", default-features = false, features = ["alloc"] }
futures-util = { version = "0.3.17", default-features = false, features = ["alloc"] }
httparse = "1.3"

View File

@ -5,18 +5,18 @@ use actix_web::{
http::StatusCode,
ResponseError,
};
use derive_more::{Display, Error, From};
use derive_more::derive::{Display, Error, From};
/// A set of errors that can occur during parsing multipart streams.
#[derive(Debug, Display, From, Error)]
#[non_exhaustive]
pub enum Error {
/// Could not find Content-Type header.
#[display(fmt = "Could not find Content-Type header")]
#[display("Could not find Content-Type header")]
ContentTypeMissing,
/// Could not parse Content-Type header.
#[display(fmt = "Could not parse Content-Type header")]
#[display("Could not parse Content-Type header")]
ContentTypeParse,
/// Parsed Content-Type did not have "multipart" top-level media type.
@ -25,11 +25,11 @@ pub enum Error {
/// "multipart/form-data" media type.
///
/// [`MultipartForm`]: struct@crate::form::MultipartForm
#[display(fmt = "Parsed Content-Type did not have "multipart" top-level media type")]
#[display("Parsed Content-Type did not have 'multipart' top-level media type")]
ContentTypeIncompatible,
/// Multipart boundary is not found.
#[display(fmt = "Multipart boundary is not found")]
#[display("Multipart boundary is not found")]
BoundaryMissing,
/// Content-Disposition header was not found or not of disposition type "form-data" when parsing
@ -39,7 +39,7 @@ pub enum Error {
/// always be present and have a disposition type of "form-data".
///
/// [RFC 7578 §4.2]: https://datatracker.ietf.org/doc/html/rfc7578#section-4.2
#[display(fmt = "Content-Disposition header was not found when parsing a \"form-data\" field")]
#[display("Content-Disposition header was not found when parsing a \"form-data\" field")]
ContentDispositionMissing,
/// Content-Disposition name parameter was not found when parsing a "form-data" field.
@ -48,48 +48,48 @@ pub enum Error {
/// always include a "name" parameter.
///
/// [RFC 7578 §4.2]: https://datatracker.ietf.org/doc/html/rfc7578#section-4.2
#[display(fmt = "Content-Disposition header was not found when parsing a \"form-data\" field")]
#[display("Content-Disposition header was not found when parsing a \"form-data\" field")]
ContentDispositionNameMissing,
/// Nested multipart is not supported.
#[display(fmt = "Nested multipart is not supported")]
#[display("Nested multipart is not supported")]
Nested,
/// Multipart stream is incomplete.
#[display(fmt = "Multipart stream is incomplete")]
#[display("Multipart stream is incomplete")]
Incomplete,
/// Field parsing failed.
#[display(fmt = "Error during field parsing")]
#[display("Error during field parsing")]
Parse(ParseError),
/// HTTP payload error.
#[display(fmt = "Payload error")]
#[display("Payload error")]
Payload(PayloadError),
/// Stream is not consumed.
#[display(fmt = "Stream is not consumed")]
#[display("Stream is not consumed")]
NotConsumed,
/// Form field handler raised error.
#[display(fmt = "An error occurred processing field: {name}")]
#[display("An error occurred processing field: {name}")]
Field {
name: String,
source: actix_web::Error,
},
/// Duplicate field found (for structure that opted-in to denying duplicate fields).
#[display(fmt = "Duplicate field found: {_0}")]
#[display("Duplicate field found: {_0}")]
#[from(ignore)]
DuplicateField(#[error(not(source))] String),
/// Required field is missing.
#[display(fmt = "Required field is missing: {_0}")]
#[display("Required field is missing: {_0}")]
#[from(ignore)]
MissingField(#[error(not(source))] String),
/// Unknown field (for structure that opted-in to denying unknown fields).
#[display(fmt = "Unknown field: {_0}")]
#[display("Unknown field: {_0}")]
#[from(ignore)]
UnknownField(#[error(not(source))] String),
}

View File

@ -13,7 +13,7 @@ use actix_web::{
http::header::{self, ContentDisposition, HeaderMap},
web::{Bytes, BytesMut},
};
use derive_more::{Display, Error};
use derive_more::derive::{Display, Error};
use futures_core::Stream;
use mime::Mime;
@ -25,7 +25,7 @@ use crate::{
/// Error type returned from [`Field::bytes()`] when field data is larger than limit.
#[derive(Debug, Display, Error)]
#[display(fmt = "size limit exceeded while collecting field data")]
#[display("size limit exceeded while collecting field data")]
#[non_exhaustive]
pub struct LimitExceeded;

View File

@ -3,7 +3,7 @@
use std::sync::Arc;
use actix_web::{http::StatusCode, web, Error, HttpRequest, ResponseError};
use derive_more::{Deref, DerefMut, Display, Error};
use derive_more::derive::{Deref, DerefMut, Display, Error};
use futures_core::future::LocalBoxFuture;
use serde::de::DeserializeOwned;
@ -66,11 +66,11 @@ where
#[non_exhaustive]
pub enum JsonFieldError {
/// Deserialize error.
#[display(fmt = "Json deserialize error: {}", _0)]
#[display("Json deserialize error: {}", _0)]
Deserialize(serde_json::Error),
/// Content type error.
#[display(fmt = "Content type error")]
#[display("Content type error")]
ContentType,
}

View File

@ -8,7 +8,7 @@ use std::{
};
use actix_web::{dev, error::PayloadError, web, Error, FromRequest, HttpRequest};
use derive_more::{Deref, DerefMut};
use derive_more::derive::{Deref, DerefMut};
use futures_core::future::LocalBoxFuture;
use futures_util::{TryFutureExt as _, TryStreamExt as _};

View File

@ -7,7 +7,7 @@ use std::{
};
use actix_web::{http::StatusCode, web, Error, HttpRequest, ResponseError};
use derive_more::{Display, Error};
use derive_more::derive::{Display, Error};
use futures_core::future::LocalBoxFuture;
use futures_util::TryStreamExt as _;
use mime::Mime;
@ -82,7 +82,7 @@ impl<'t> FieldReader<'t> for TempFile {
#[non_exhaustive]
pub enum TempFileError {
/// File I/O Error
#[display(fmt = "File I/O error: {}", _0)]
#[display("File I/O error: {}", _0)]
FileIo(std::io::Error),
}

View File

@ -3,7 +3,7 @@
use std::{str, sync::Arc};
use actix_web::{http::StatusCode, web, Error, HttpRequest, ResponseError};
use derive_more::{Deref, DerefMut, Display, Error};
use derive_more::derive::{Deref, DerefMut, Display, Error};
use futures_core::future::LocalBoxFuture;
use serde::de::DeserializeOwned;
@ -77,15 +77,15 @@ where
#[non_exhaustive]
pub enum TextError {
/// UTF-8 decoding error.
#[display(fmt = "UTF-8 decoding error: {}", _0)]
#[display("UTF-8 decoding error: {}", _0)]
Utf8Error(str::Utf8Error),
/// Deserialize error.
#[display(fmt = "Plain text deserialize error: {}", _0)]
#[display("Plain text deserialize error: {}", _0)]
Deserialize(serde_plain::Error),
/// Content type error.
#[display(fmt = "Content type error")]
#[display("Content type error")]
ContentType,
}