Struct PathConfig
pub struct PathConfig {
err_handler: Option<Arc<dyn Fn(PathError, &HttpRequest) -> Error + Send + Sync>>,
}Expand description
Path extractor configuration
use actix_web::web::PathConfig;
use actix_web::{error, web, App, FromRequest, HttpResponse};
use serde::Deserialize;
#[derive(Deserialize, Debug)]
enum Folder {
#[serde(rename = "inbox")]
Inbox,
#[serde(rename = "outbox")]
Outbox,
}
// deserialize `Info` from request's path
async fn index(folder: web::Path<Folder>) -> String {
format!("Selected folder: {:?}!", folder)
}
let app = App::new().service(
web::resource("/messages/{folder}")
.app_data(PathConfig::default().error_handler(|err, req| {
error::InternalError::from_response(
err,
HttpResponse::Conflict().into(),
)
.into()
}))
.route(web::post().to(index)),
);Fields§
§err_handler: Option<Arc<dyn Fn(PathError, &HttpRequest) -> Error + Send + Sync>>Implementations§
§impl PathConfig
impl PathConfig
pub fn error_handler<F>(self, f: F) -> PathConfig
pub fn error_handler<F>(self, f: F) -> PathConfig
Set custom error handler.
Trait Implementations§
§impl Clone for PathConfig
impl Clone for PathConfig
§fn clone(&self) -> PathConfig
fn clone(&self) -> PathConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Default for PathConfig
impl Default for PathConfig
§fn default() -> PathConfig
fn default() -> PathConfig
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for PathConfig
impl !RefUnwindSafe for PathConfig
impl Send for PathConfig
impl Sync for PathConfig
impl Unpin for PathConfig
impl !UnwindSafe for PathConfig
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
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> ServiceExt for T
impl<T> ServiceExt for T
§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
§fn decompression(self) -> Decompression<Self>where
Self: Sized,
fn decompression(self) -> Decompression<Self>where
Self: Sized,
Decompress response bodies. Read more
§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more