| Crates.io | rocket-enumform |
| lib.rs | rocket-enumform |
| version | 0.5.0-rc.1 |
| created_at | 2021-10-08 07:41:09.069657+00 |
| updated_at | 2021-10-08 07:41:09.069657+00 |
| description | Variant support in web forms for rocket |
| homepage | https://github.com/cognitedata/rocket-enumform/ |
| repository | https://github.com/cognitedata/rocket-enumform/ |
| max_upload_size | |
| id | 462223 |
| size | 28,413 |
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 { /*...*/ }
Works but not unit tested, nor have local testing affordances for users been added yet.
Supports rust stable and nightly, matching Rocket.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
PR's on Github as normal please. Cargo test and rustfmt code before submitting.