Enum actix_form_data::Field [−][src]
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<E>>>>>) -> Pin<Box<dyn Future<Output = Result<T, Error<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
File(Arc<dyn Fn(String, Mime, Pin<Box<dyn Stream<Item = Result<Bytes, Error<E>>>>>) -> Pin<Box<dyn Future<Output = Result<T, Error<E>>>>> + Send + Sync>)Tuple Fields of File
Implementations
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<_, std::io::Error>
}
}));Add a Bytes field to a form
Example
let form = Form::<(), std::io::Error>::new().field("text-field", Field::bytes());Add a Text field to a form
Example
let form = Form::<(), std::io::Error>::new().field("text-field", Field::text());Add an Int field to a form
Example
let form = Form::<(), std::io::Error>::new().field("int-field", Field::int());Add a Float field to a form
Example
let form = Form::<(), std::io::Error>::new().field("float-field", Field::float());Add an Array to a form
Example
let form = Form::<(), std::io::Error>::new()
.field(
"array-field",
Field::array(Field::text())
);Trait Implementations
Auto Trait Implementations
impl<T, E> !RefUnwindSafe for Field<T, E>
impl<T, E> !UnwindSafe for Field<T, E>
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span, returning an
Instrumented wrapper. Read more