Expand description
XML extractor for actix-web
This crate provides struct Xml that can be used to extract typed information from request’s body.
Under the hood, quick-xml is used to parse payloads.
§Example
use actix_web::{web, App};
use actix_xml::Xml;
use serde::Deserialize;
#[derive(Deserialize)]
struct Info {
username: String,
}
/// deserialize `Info` from request's body
async fn index(info: Xml<Info>) -> String {
format!("Welcome {}!", info.username)
}
fn main() {
let app = App::new().service(
web::resource("/index.html").route(
web::post().to(index))
);
}§Features
encoding: support non utf-8 payloadcompress-brotli(default): enable actix-webcompress-brotlisupportcompress-gzip(default): enable actix-webcompress-gzipsupportcompress-zstd(default): enable actix-webcompress-zstdsupport
If you’ve removed one of the compress-* feature flag for actix-web, make sure to remove it by setting default-features=false, or
it will be re-enabled for actix-web.
Structs§
- Xml
- Xml extractor
- XmlBody
- Request’s payload xml parser, it resolves to a deserialized
Tvalue. This future could be used withServiceRequestandServiceFromRequest. - XmlConfig
- XML extractor configuration
Enums§
- XMLPayload
Error - A set of errors that can occur during parsing xml payloads