pub struct FileUploadRequest { /* private fields */ }Expand description
Validated provider-file upload request.
This owns bytes without uploading them. Submit it through crate::ProviderBackend::upload_file
and retain the returned lifecycle id for explicit owned-resource cleanup.
§Examples
use providers_kit::files::FileUploadRequest;
let request = FileUploadRequest::new("notes.txt", "text/plain", b"notes".to_vec())?;
assert_eq!(request.file_name(), "notes.txt");
assert_eq!(request.media_type(), "text/plain");
assert_eq!(request.data(), b"notes");
Implementations§
Source§impl FileUploadRequest
impl FileUploadRequest
Sourcepub fn new(
file_name: impl Into<String>,
media_type: impl Into<String>,
data: Vec<u8>,
) -> Result<Self, KitError>
pub fn new( file_name: impl Into<String>, media_type: impl Into<String>, data: Vec<u8>, ) -> Result<Self, KitError>
Creates a non-empty upload with a file name and media type.
§Errors
Returns an input error for an empty, padded, or control-containing file name; malformed or padded MIME type/parameters; or empty file bytes.
§Examples
use providers_kit::files::FileUploadRequest;
let request = FileUploadRequest::new("notes.txt", "text/plain", b"notes".to_vec())?;
assert_eq!(request.file_name(), "notes.txt");
assert_eq!(request.media_type(), "text/plain");
assert_eq!(request.data(), b"notes");
Sourcepub fn file_name(&self) -> &str
pub fn file_name(&self) -> &str
Returns the file name presented to the provider.
§Examples
use providers_kit::files::FileUploadRequest;
let request = FileUploadRequest::new("notes.txt", "text/plain", b"notes".to_vec())?;
assert_eq!(request.file_name(), "notes.txt");
assert_eq!(request.media_type(), "text/plain");
assert_eq!(request.data(), b"notes");
Sourcepub fn media_type(&self) -> &str
pub fn media_type(&self) -> &str
Returns the declared media type.
§Examples
use providers_kit::files::FileUploadRequest;
let request = FileUploadRequest::new("notes.txt", "text/plain", b"notes".to_vec())?;
assert_eq!(request.file_name(), "notes.txt");
assert_eq!(request.media_type(), "text/plain");
assert_eq!(request.data(), b"notes");
Sourcepub fn data(&self) -> &[u8] ⓘ
pub fn data(&self) -> &[u8] ⓘ
Returns the raw file bytes.
§Examples
use providers_kit::files::FileUploadRequest;
let request = FileUploadRequest::new("notes.txt", "text/plain", b"notes".to_vec())?;
assert_eq!(request.file_name(), "notes.txt");
assert_eq!(request.media_type(), "text/plain");
assert_eq!(request.data(), b"notes");
Sourcepub fn into_parts(self) -> (String, String, Vec<u8>)
pub fn into_parts(self) -> (String, String, Vec<u8>)
Consumes the request into its file name, media type, and bytes.
§Examples
use providers_kit::files::FileUploadRequest;
let request = FileUploadRequest::new("notes.txt", "text/plain", b"notes".to_vec())?;
let (name, media_type, bytes) = request.into_parts();
assert_eq!(name, "notes.txt");
assert_eq!(media_type, "text/plain");
assert_eq!(bytes, b"notes");
Trait Implementations§
Source§impl Clone for FileUploadRequest
impl Clone for FileUploadRequest
Source§impl Debug for FileUploadRequest
impl Debug for FileUploadRequest
Source§impl<'de> Deserialize<'de> for FileUploadRequest
impl<'de> Deserialize<'de> for FileUploadRequest
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for FileUploadRequest
Source§impl PartialEq for FileUploadRequest
impl PartialEq for FileUploadRequest
Source§impl Serialize for FileUploadRequest
impl Serialize for FileUploadRequest
impl StructuralPartialEq for FileUploadRequest
Auto Trait Implementations§
impl Freeze for FileUploadRequest
impl RefUnwindSafe for FileUploadRequest
impl Send for FileUploadRequest
impl Sync for FileUploadRequest
impl Unpin for FileUploadRequest
impl UnsafeUnpin for FileUploadRequest
impl UnwindSafe for FileUploadRequest
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.