pub struct UploadContext {
pub file_service: Arc<FileService>,
pub multipart_service: Arc<MultipartUploadService>,
pub bucket_service: Arc<BucketService>,
pub storage: Arc<dyn ObjectStorage>,
}Expand description
Shared handler state — travels as an Axum Extension.
bucket_service is required so the handler can enforce per-bucket
policy: status (Readonly/Archived/Deleted reject writes),
max_file_size, and allowed_mime_types. Without these checks the
upload surface silently violates the schema-declared invariants.
Fields§
§file_service: Arc<FileService>§multipart_service: Arc<MultipartUploadService>§bucket_service: Arc<BucketService>§storage: Arc<dyn ObjectStorage>Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for UploadContext
impl !UnwindSafe for UploadContext
impl Freeze for UploadContext
impl Send for UploadContext
impl Sync for UploadContext
impl Unpin for UploadContext
impl UnsafeUnpin for UploadContext
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,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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 moreCreates a shared type from an unshared type.