Crates.io | rocket-enumform |
lib.rs | rocket-enumform |
version | 0.5.0-rc.1 |
source | src |
created_at | 2021-10-08 07:41:09.069657 |
updated_at | 2021-10-08 07:41:09.069657 |
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.