pub enum Field<T, E> {
Array(Array<T, E>),
Map(Map<T, E>),
File(Arc<dyn Fn(String, Mime, Pin<Box<dyn Stream<Item = Result<Bytes, Error>>>>) -> Pin<Box<dyn Future<Output = Result<T, E>>>> + Send + Sync>),
Bytes,
Int,
Float,
Text,
}Expand description
The field type represents a field in the form-data that is allowed to be parsed.
Variants§
Array(Array<T, E>)
Map(Map<T, E>)
File(Arc<dyn Fn(String, Mime, Pin<Box<dyn Stream<Item = Result<Bytes, Error>>>>) -> Pin<Box<dyn Future<Output = Result<T, E>>>> + Send + Sync>)
Bytes
Int
Float
Text
Implementations§
Source§impl<T, E> Field<T, E>
impl<T, E> Field<T, E>
Sourcepub fn file<F, Fut>(f: F) -> Self
pub fn file<F, Fut>(f: F) -> Self
Add a File field with a name generator.
The name generator will be called for each file matching this field’s key. Keep in mind that each key/file pair will have it’s own name-generator, so sharing a name-generator between fields is up to the user.
§Example
let (tx, rx) = channel(1);
let form = Form::new().field("file-field", Field::file(move |_, _, mut stream| {
let mut tx = tx.clone();
async move {
while let Some(res) = stream.next().await {
if let Ok(bytes) = res {
if let Err(_) = tx.send(bytes).await {
break;
}
}
}
Ok(()) as Result<_, Error>
}
}));Sourcepub fn bytes() -> Self
pub fn bytes() -> Self
Add a Bytes field to a form
§Example
let form = Form::<(), Error>::new().field("text-field", Field::bytes());Sourcepub fn text() -> Self
pub fn text() -> Self
Add a Text field to a form
§Example
let form = Form::<(), Error>::new().field("text-field", Field::text());Sourcepub fn int() -> Self
pub fn int() -> Self
Add an Int field to a form
§Example
let form = Form::<(), Error>::new().field("int-field", Field::int());Sourcepub fn float() -> Self
pub fn float() -> Self
Add a Float field to a form
§Example
let form = Form::<(), Error>::new().field("float-field", Field::float());Trait Implementations§
Auto Trait Implementations§
impl<T, E> Freeze for Field<T, E>
impl<T, E> !RefUnwindSafe for Field<T, E>
impl<T, E> Send for Field<T, E>
impl<T, E> Sync for Field<T, E>
impl<T, E> Unpin for Field<T, E>
impl<T, E> !UnwindSafe for Field<T, E>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more