Expand description
Rocket extension to permit enums in application/x-www-form-urlencoded forms This crate is a workaround for https://github.com/SergioBenitez/Rocket/issues/1937.
It is derived from the included serde_json implementation in rocket.
#[derive(Debug, Deserialize)]
#[serde(tag = "type")]
enum Body {
#[serde(rename = "variant_one")]
VariantOne(VariantOne),
#[serde(rename = "variant_two")]
VariantTwo(VariantTwo),
}
#[derive(Debug, Deserialize)]
struct VariantOne {
content_one: String
}
#[derive(Debug, Deserialize)]
struct VariantTwo {
content_two: String
}
#[post("/form", format = "form", data = "<data>")]
fn body(data: UrlEncoded<Body>) -> String { format!("{:?}", data) }
§status
Works but not tested, nor have local testing affordances been added yet.
Structs§
- UrlEncoded
- The UrlEncoded guard: easily consume x-www-form-urlencoded requests.
Enums§
- Error
- Error returned by the
UrlEncoded
guard when deserialization fails.
Functions§
- from_
slice - Deserialize an instance of type
T
from bytes of UrlEncoded text. - from_
str - Deserialize an instance of type
T
from a string of UrlEncoded text.