pub struct UploadProgress { /* private fields */ }Expand description
Upload progress middleware configuration.
§Examples
use tako::middleware::upload_progress::UploadProgress;
use tako::middleware::IntoMiddleware;
// Simple progress tracking (access via ProgressTracker in extensions)
let progress = UploadProgress::new();
// With progress callback
let progress = UploadProgress::new()
.on_progress(|state| {
if let Some(pct) = state.percent() {
println!("Upload: {pct}%");
}
})
.min_notify_interval_bytes(8192); // notify at most every 8KBImplementations§
Source§impl UploadProgress
impl UploadProgress
Sourcepub fn new() -> UploadProgress
pub fn new() -> UploadProgress
Creates a new upload progress middleware.
Sourcepub fn on_progress<F>(self, f: F) -> UploadProgress
pub fn on_progress<F>(self, f: F) -> UploadProgress
Sets a callback that is called as bytes are received.
Sourcepub fn min_notify_interval_bytes(self, bytes: u64) -> UploadProgress
pub fn min_notify_interval_bytes(self, bytes: u64) -> UploadProgress
Sets the minimum byte interval between progress notifications.
This prevents the callback from being called too frequently for large uploads. Default is 0 (notify on every chunk).
Trait Implementations§
Source§impl Default for UploadProgress
impl Default for UploadProgress
Source§fn default() -> UploadProgress
fn default() -> UploadProgress
Returns the “default value” for a type. Read more
Source§impl IntoMiddleware for UploadProgress
impl IntoMiddleware for UploadProgress
Auto Trait Implementations§
impl !RefUnwindSafe for UploadProgress
impl !UnwindSafe for UploadProgress
impl Freeze for UploadProgress
impl Send for UploadProgress
impl Sync for UploadProgress
impl Unpin for UploadProgress
impl UnsafeUnpin for UploadProgress
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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 more