Struct actix_web::web::PathConfig [−][src]
pub struct PathConfig { /* fields omitted */ }
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)
}
fn main() {
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)),
);
}
Implementations
pub fn error_handler<F>(self, f: F) -> Self where
F: Fn(PathError, &HttpRequest) -> Error + Send + Sync + 'static,
pub fn error_handler<F>(self, f: F) -> Self where
F: Fn(PathError, &HttpRequest) -> Error + Send + Sync + 'static,
Set custom error handler
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for PathConfig
impl Send for PathConfig
impl Sync for PathConfig
impl Unpin for PathConfig
impl !UnwindSafe for PathConfig
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
type Output = T
type Output = T
Should always be Self