Skip to main content

FormFieldValue

Struct FormFieldValue 

Source
pub struct FormFieldValue<'a> { /* private fields */ }
Expand description

A value from a form field.

This type represents a value from a form field, which can be either a text value or a multipart field (like a file upload). It provides methods to access the field’s metadata (name, filename, content type) and to convert the value into different formats.

Implementations§

Source§

impl<'a> FormFieldValue<'a>

Source

pub fn new_text<T: Into<String>>(text: T) -> Self

Creates a new text field value.

§Examples
use cot::form::FormFieldValue;

let value = FormFieldValue::new_text("hello");
assert_eq!(value.is_multipart(), false);
assert_eq!(value.filename(), None);
assert_eq!(value.content_type(), None);
assert_eq!(value.into_text().await?, "hello");
Source

pub fn filename(&self) -> Option<&str>

Returns the filename of the field, if it has one.

Only multipart fields can have filenames. Text fields always return None.

Source

pub fn content_type(&self) -> Option<&str>

Returns the content type of the field, if it has one.

Only multipart fields can have content types. Text fields always return None.

Source

pub async fn into_bytes(self) -> Result<Bytes, FormFieldValueError>

Converts the field value into bytes.

For text fields, this converts the text into bytes. For multipart fields, this reads the field’s content as bytes.

§Errors

This method can return an error if the field is a multipart field and the content cannot be read, for example, because of an I/O error.

§Examples
use bytes::Bytes;
use cot::form::FormFieldValue;

let text_value = FormFieldValue::new_text("hello");
assert_eq!(text_value.into_bytes().await?, Bytes::from("hello"));
Source

pub async fn into_text(self) -> Result<String, FormFieldValueError>

Converts the field value into text.

For text fields, this returns the text directly. For multipart fields, this reads the field’s content as text.

§Errors

This method can return an error if the field is a multipart field and the content cannot be read, for example, because of an I/O error.

§Examples
use cot::form::FormFieldValue;

let text_value = FormFieldValue::new_text("hello");
assert_eq!(text_value.into_text().await?, "hello");
Source

pub fn is_multipart(&self) -> bool

Returns whether this is a multipart field.

§Examples
use cot::form::FormFieldValue;

let text_value = FormFieldValue::new_text("hello");
assert!(!text_value.is_multipart());

Trait Implementations§

Source§

impl<'a> Debug for FormFieldValue<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for FormFieldValue<'a>

§

impl<'a> !RefUnwindSafe for FormFieldValue<'a>

§

impl<'a> Send for FormFieldValue<'a>

§

impl<'a> Sync for FormFieldValue<'a>

§

impl<'a> Unpin for FormFieldValue<'a>

§

impl<'a> UnsafeUnpin for FormFieldValue<'a>

§

impl<'a> !UnwindSafe for FormFieldValue<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Chain<T> for T

Source§

fn len(&self) -> usize

The number of items that this chain link consists of.
Source§

fn append_to(self, v: &mut Vec<T>)

Append the elements in this link to the chain.
Source§

impl<T> Fake for T

Source§

fn fake<U>(&self) -> U
where Self: FakeBase<U>,

Source§

fn fake_with_rng<U, R>(&self, rng: &mut R) -> U
where R: Rng + ?Sized, Self: FakeBase<U>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoApi for T

Source§

fn into_api<A>(self) -> UseApi<T, A>

into UseApi
Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> IntoField<Auto<T>> for T

Source§

fn into_field(self) -> Auto<T>

Available on crate feature db only.
Converts the type to the field type.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,