#[non_exhaustive]pub struct ObjectList<P: PointerFamily = ArcPointer, Item = Object<P>> { /* private fields */ }
Expand description
§存放对象列表的结构体
before name is ObjectList
TODO impl core::ops::Index
Implementations§
Source§impl<T: PointerFamily, Item> ObjectList<T, Item>
impl<T: PointerFamily, Item> ObjectList<T, Item>
Sourcepub fn new<Q: IntoIterator<Item = (QueryKey, QueryValue)>>(
bucket: BucketBase,
prefix: Option<ObjectDir<'static>>,
max_keys: u32,
key_count: u64,
object_list: Vec<Item>,
next_continuation_token: Option<String>,
client: T::PointerType,
search_query: Q,
) -> Self
pub fn new<Q: IntoIterator<Item = (QueryKey, QueryValue)>>( bucket: BucketBase, prefix: Option<ObjectDir<'static>>, max_keys: u32, key_count: u64, object_list: Vec<Item>, next_continuation_token: Option<String>, client: T::PointerType, search_query: Q, ) -> Self
文件列表的初始化方法
Sourcepub fn bucket(&self) -> &BucketBase
pub fn bucket(&self) -> &BucketBase
返回 bucket 元信息的引用
Sourcepub fn common_prefixes(&self) -> &CommonPrefixes
pub fn common_prefixes(&self) -> &CommonPrefixes
获取文件夹下的子文件夹名,子文件夹下递归的所有文件和文件夹不包含在这里。
Sourcepub fn set_common_prefixes<P: IntoIterator<Item = ObjectDir<'static>>>(
&mut self,
prefixes: P,
)
pub fn set_common_prefixes<P: IntoIterator<Item = ObjectDir<'static>>>( &mut self, prefixes: P, )
设置 common_prefixes 信息
Sourcepub fn next_continuation_token_str(&self) -> &String
pub fn next_continuation_token_str(&self) -> &String
§返回下一个 continuation_token
用于翻页使用
Sourcepub fn search_query(&self) -> &Query
pub fn search_query(&self) -> &Query
返回查询条件
Sourcepub fn next_query(&self) -> Option<Query>
pub fn next_query(&self) -> Option<Query>
§下一页的查询条件
如果有下一页,返回 Some(Query) 如果没有下一页,则返回 None
Sourcepub fn object_iter(self) -> IntoIter<Item>
pub fn object_iter(self) -> IntoIter<Item>
将 object 列表转化为迭代器
Source§impl ObjectList<ArcPointer>
impl ObjectList<ArcPointer>
Sourcepub async fn get_next_list(
&self,
) -> Result<ObjectList<ArcPointer>, ExtractListError>
pub async fn get_next_list( &self, ) -> Result<ObjectList<ArcPointer>, ExtractListError>
异步获取下一页的数据 TODO 改为 unstable
Sourcepub fn into_stream(self) -> impl Stream<Item = Result<Self, ExtractListError>>
pub fn into_stream(self) -> impl Stream<Item = Result<Self, ExtractListError>>
§将 object_list 转化为 stream, 返回第二页,第三页… 的内容
不够完善,最后一次迭代返回的是 Some(Err(OssError::WithoutMore))
,而不是 None
§用法
- 添加依赖
[dependencies]
futures="0.3"
- 将返回结果 pin 住
use futures::{pin_mut, StreamExt};
let stream = object_list.into_stream();
pin_mut!(stream);
let second_list = stream.next().await;
let third_list = stream.next().await;
println!("second_list: {:?}", second_list);
println!("third_list: {:?}", third_list);
Source§impl<Item> ObjectList<ArcPointer, Item>where
Self: InitObject<Item>,
impl<Item> ObjectList<ArcPointer, Item>where
Self: InitObject<Item>,
Sourcepub async fn get_next_base<E>(
&mut self,
) -> Option<Result<Self, ExtractListError>>where
Item: RefineObject<E>,
E: Error + 'static,
pub async fn get_next_base<E>(
&mut self,
) -> Option<Result<Self, ExtractListError>>where
Item: RefineObject<E>,
E: Error + 'static,
§自定义 Item 时,获取下一页数据
当没有下一页查询条件时 返回 None
否则尝试获取下一页数据,成功返回 Some(Ok(_))
, 失败返回 Some(Err(_))
Source§impl ObjectList<RcPointer>
impl ObjectList<RcPointer>
Sourcepub fn get_object_list(&self) -> Result<Self, ExtractListError>
pub fn get_object_list(&self) -> Result<Self, ExtractListError>
从 OSS 获取 object 列表信息
Source§impl<T: PointerFamily, Item> ObjectList<T, Item>
impl<T: PointerFamily, Item> ObjectList<T, Item>
Sourcepub fn set_search_query(&mut self, search_query: Query)
pub fn set_search_query(&mut self, search_query: Query)
设置查询条件
Sourcepub fn set_bucket(&mut self, bucket: BucketBase)
pub fn set_bucket(&mut self, bucket: BucketBase)
设置 bucket 元信息
Sourcepub fn bucket_name(&self) -> &str
pub fn bucket_name(&self) -> &str
获取 bucket 名称
Trait Implementations§
Source§impl<Item: Send + Sync> AlignBuilder for ObjectList<ArcPointer, Item>
impl<Item: Send + Sync> AlignBuilder for ObjectList<ArcPointer, Item>
Source§fn builder_with_header<H: IntoIterator<Item = (HeaderName, HeaderValue)>>(
&self,
method: Method,
url: Url,
resource: CanonicalizedResource,
headers: H,
) -> Result<RequestBuilder, BuilderError>
fn builder_with_header<H: IntoIterator<Item = (HeaderName, HeaderValue)>>( &self, method: Method, url: Url, resource: CanonicalizedResource, headers: H, ) -> Result<RequestBuilder, BuilderError>
根据具体的 API 接口参数,返回请求的构建器
Source§impl AlignBuilder for ObjectList<RcPointer>
impl AlignBuilder for ObjectList<RcPointer>
Source§fn builder_with_header<H: IntoIterator<Item = (HeaderName, HeaderValue)>>(
&self,
method: Method,
url: Url,
resource: CanonicalizedResource,
headers: H,
) -> Result<RequestBuilder, BuilderError>
fn builder_with_header<H: IntoIterator<Item = (HeaderName, HeaderValue)>>( &self, method: Method, url: Url, resource: CanonicalizedResource, headers: H, ) -> Result<RequestBuilder, BuilderError>
根据具体的 API 接口参数,返回请求的构建器
Source§impl<T: PointerFamily, Item> AsMut<Query> for ObjectList<T, Item>
impl<T: PointerFamily, Item> AsMut<Query> for ObjectList<T, Item>
Source§impl<T: PointerFamily, Item> AsRef<BucketBase> for ObjectList<T, Item>
impl<T: PointerFamily, Item> AsRef<BucketBase> for ObjectList<T, Item>
Source§fn as_ref(&self) -> &BucketBase
fn as_ref(&self) -> &BucketBase
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl<T: PointerFamily, Item> AsRef<BucketName> for ObjectList<T, Item>
impl<T: PointerFamily, Item> AsRef<BucketName> for ObjectList<T, Item>
Source§fn as_ref(&self) -> &BucketName
fn as_ref(&self) -> &BucketName
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl<T: PointerFamily, Item> AsRef<EndPoint> for ObjectList<T, Item>
impl<T: PointerFamily, Item> AsRef<EndPoint> for ObjectList<T, Item>
Source§impl<P: Clone + PointerFamily, Item: Clone> Clone for ObjectList<P, Item>where
P::PointerType: Clone,
impl<P: Clone + PointerFamily, Item: Clone> Clone for ObjectList<P, Item>where
P::PointerType: Clone,
Source§fn clone(&self) -> ObjectList<P, Item>
fn clone(&self) -> ObjectList<P, Item>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<T: PointerFamily, Item> Debug for ObjectList<T, Item>
impl<T: PointerFamily, Item> Debug for ObjectList<T, Item>
Source§impl<P: PointerFamily, Item> Default for ObjectList<P, Item>
impl<P: PointerFamily, Item> Default for ObjectList<P, Item>
Source§impl<Item: RefineObject<BuildInItemError> + Send + Sync, U: GetStd> GetStdWithPath<U> for ObjectList<ArcPointer, Item>
impl<Item: RefineObject<BuildInItemError> + Send + Sync, U: GetStd> GetStdWithPath<U> for ObjectList<ArcPointer, Item>
TODO remove Send + Sync
Source§fn get_std_with_path(&self, path: U) -> Option<(Url, CanonicalizedResource)>
fn get_std_with_path(&self, path: U) -> Option<(Url, CanonicalizedResource)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl InitObject<Object<RcPointer>> for ObjectList<RcPointer, Object<RcPointer>>
impl InitObject<Object<RcPointer>> for ObjectList<RcPointer, Object<RcPointer>>
Source§impl InitObject<Object> for ObjectList<ArcPointer, Object<ArcPointer>>
impl InitObject<Object> for ObjectList<ArcPointer, Object<ArcPointer>>
Source§impl Iterator for ObjectList<RcPointer>
impl Iterator for ObjectList<RcPointer>
Source§type Item = ObjectList<RcPointer>
type Item = ObjectList<RcPointer>
The type of the elements being iterated over.
Source§fn next(&mut self) -> Option<Self>
fn next(&mut self) -> Option<Self>
Advances the iterator and returns the next value. Read more
Source§fn next_chunk<const N: usize>(
&mut self,
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where
Self: Sized,
fn next_chunk<const N: usize>(
&mut self,
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where
Self: Sized,
🔬This is a nightly-only experimental API. (
iter_next_chunk
)Advances the iterator and returns an array containing the next
N
values. Read more1.0.0 · Source§fn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
Returns the bounds on the remaining length of the iterator. Read more
1.0.0 · Source§fn count(self) -> usizewhere
Self: Sized,
fn count(self) -> usizewhere
Self: Sized,
Consumes the iterator, counting the number of iterations and returning it. Read more
1.0.0 · Source§fn last(self) -> Option<Self::Item>where
Self: Sized,
fn last(self) -> Option<Self::Item>where
Self: Sized,
Consumes the iterator, returning the last element. Read more
Source§fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
🔬This is a nightly-only experimental API. (
iter_advance_by
)Advances the iterator by
n
elements. Read more1.0.0 · Source§fn nth(&mut self, n: usize) -> Option<Self::Item>
fn nth(&mut self, n: usize) -> Option<Self::Item>
Returns the
n
th element of the iterator. Read more1.28.0 · Source§fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
Creates an iterator starting at the same point, but stepping by
the given amount at each iteration. Read more
1.0.0 · Source§fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
Takes two iterators and creates a new iterator over both in sequence. Read more
1.0.0 · Source§fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where
Self: Sized,
U: IntoIterator,
fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where
Self: Sized,
U: IntoIterator,
‘Zips up’ two iterators into a single iterator of pairs. Read more
Source§fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
🔬This is a nightly-only experimental API. (
iter_intersperse
)Creates a new iterator which places an item generated by
separator
between adjacent items of the original iterator. Read more1.0.0 · Source§fn map<B, F>(self, f: F) -> Map<Self, F>
fn map<B, F>(self, f: F) -> Map<Self, F>
Takes a closure and creates an iterator which calls that closure on each
element. Read more
1.0.0 · Source§fn filter<P>(self, predicate: P) -> Filter<Self, P>
fn filter<P>(self, predicate: P) -> Filter<Self, P>
Creates an iterator which uses a closure to determine if an element
should be yielded. Read more
1.0.0 · Source§fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
Creates an iterator that both filters and maps. Read more
1.0.0 · Source§fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
fn enumerate(self) -> Enumerate<Self>where
Self: Sized,
Creates an iterator which gives the current iteration count as well as
the next value. Read more
1.0.0 · Source§fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
1.0.0 · Source§fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
Creates an iterator that yields elements based on a predicate. Read more
1.57.0 · Source§fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
Creates an iterator that both yields elements based on a predicate and maps. Read more
1.0.0 · Source§fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
fn skip(self, n: usize) -> Skip<Self>where
Self: Sized,
Creates an iterator that skips the first
n
elements. Read more1.0.0 · Source§fn take(self, n: usize) -> Take<Self>where
Self: Sized,
fn take(self, n: usize) -> Take<Self>where
Self: Sized,
Creates an iterator that yields the first
n
elements, or fewer
if the underlying iterator ends sooner. Read more1.0.0 · Source§fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
Creates an iterator that works like map, but flattens nested structure. Read more
1.29.0 · Source§fn flatten(self) -> Flatten<Self>
fn flatten(self) -> Flatten<Self>
Creates an iterator that flattens nested structure. Read more
Source§fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
🔬This is a nightly-only experimental API. (
iter_map_windows
)Calls the given function
f
for each contiguous window of size N
over
self
and returns an iterator over the outputs of f
. Like slice::windows()
,
the windows during mapping overlap as well. Read more1.0.0 · Source§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Does something with each element of an iterator, passing the value on. Read more
1.0.0 · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adapter for this instance of
Iterator
. Read moreSource§fn collect_into<E>(self, collection: &mut E) -> &mut E
fn collect_into<E>(self, collection: &mut E) -> &mut E
🔬This is a nightly-only experimental API. (
iter_collect_into
)Collects all the items from an iterator into a collection. Read more
1.0.0 · Source§fn partition<B, F>(self, f: F) -> (B, B)
fn partition<B, F>(self, f: F) -> (B, B)
Consumes an iterator, creating two collections from it. Read more
Source§fn is_partitioned<P>(self, predicate: P) -> bool
fn is_partitioned<P>(self, predicate: P) -> bool
🔬This is a nightly-only experimental API. (
iter_is_partitioned
)Checks if the elements of this iterator are partitioned according to the given predicate,
such that all those that return
true
precede all those that return false
. Read more1.27.0 · Source§fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
An iterator method that applies a function as long as it returns
successfully, producing a single, final value. Read more
1.27.0 · Source§fn try_for_each<F, R>(&mut self, f: F) -> R
fn try_for_each<F, R>(&mut self, f: F) -> R
An iterator method that applies a fallible function to each item in the
iterator, stopping at the first error and returning that error. Read more
1.0.0 · Source§fn fold<B, F>(self, init: B, f: F) -> B
fn fold<B, F>(self, init: B, f: F) -> B
Folds every element into an accumulator by applying an operation,
returning the final result. Read more
1.51.0 · Source§fn reduce<F>(self, f: F) -> Option<Self::Item>
fn reduce<F>(self, f: F) -> Option<Self::Item>
Reduces the elements to a single one, by repeatedly applying a reducing
operation. Read more
Source§fn try_reduce<R>(
&mut self,
f: impl FnMut(Self::Item, Self::Item) -> R,
) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
fn try_reduce<R>( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
🔬This is a nightly-only experimental API. (
iterator_try_reduce
)Reduces the elements to a single one by repeatedly applying a reducing operation. If the
closure returns a failure, the failure is propagated back to the caller immediately. Read more
1.0.0 · Source§fn all<F>(&mut self, f: F) -> bool
fn all<F>(&mut self, f: F) -> bool
Tests if every element of the iterator matches a predicate. Read more
1.0.0 · Source§fn any<F>(&mut self, f: F) -> bool
fn any<F>(&mut self, f: F) -> bool
Tests if any element of the iterator matches a predicate. Read more
1.0.0 · Source§fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
Searches for an element of an iterator that satisfies a predicate. Read more
1.30.0 · Source§fn find_map<B, F>(&mut self, f: F) -> Option<B>
fn find_map<B, F>(&mut self, f: F) -> Option<B>
Applies function to the elements of iterator and returns
the first non-none result. Read more
Source§fn try_find<R>(
&mut self,
f: impl FnMut(&Self::Item) -> R,
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
fn try_find<R>( &mut self, f: impl FnMut(&Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
🔬This is a nightly-only experimental API. (
try_find
)Applies function to the elements of iterator and returns
the first true result or the first error. Read more
1.0.0 · Source§fn position<P>(&mut self, predicate: P) -> Option<usize>
fn position<P>(&mut self, predicate: P) -> Option<usize>
Searches for an element in an iterator, returning its index. Read more
1.6.0 · Source§fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
Returns the element that gives the maximum value from the
specified function. Read more
1.15.0 · Source§fn max_by<F>(self, compare: F) -> Option<Self::Item>
fn max_by<F>(self, compare: F) -> Option<Self::Item>
Returns the element that gives the maximum value with respect to the
specified comparison function. Read more
1.6.0 · Source§fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
Returns the element that gives the minimum value from the
specified function. Read more
1.15.0 · Source§fn min_by<F>(self, compare: F) -> Option<Self::Item>
fn min_by<F>(self, compare: F) -> Option<Self::Item>
Returns the element that gives the minimum value with respect to the
specified comparison function. Read more
1.0.0 · Source§fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
Converts an iterator of pairs into a pair of containers. Read more
1.36.0 · Source§fn copied<'a, T>(self) -> Copied<Self>
fn copied<'a, T>(self) -> Copied<Self>
Creates an iterator which copies all of its elements. Read more
Source§fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where
Self: Sized,
fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>where
Self: Sized,
🔬This is a nightly-only experimental API. (
iter_array_chunks
)Returns an iterator over
N
elements of the iterator at a time. Read more1.11.0 · Source§fn product<P>(self) -> P
fn product<P>(self) -> P
Iterates over the entire iterator, multiplying all the elements Read more
Source§fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
🔬This is a nightly-only experimental API. (
iter_order_by
)Lexicographically compares the elements of this
Iterator
with those
of another with respect to the specified comparison function. Read more1.5.0 · Source§fn partial_cmp<I>(self, other: I) -> Option<Ordering>
fn partial_cmp<I>(self, other: I) -> Option<Ordering>
Lexicographically compares the
PartialOrd
elements of
this Iterator
with those of another. The comparison works like short-circuit
evaluation, returning a result without comparing the remaining elements.
As soon as an order can be determined, the evaluation stops and a result is returned. Read moreSource§fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
🔬This is a nightly-only experimental API. (
iter_order_by
)Lexicographically compares the elements of this
Iterator
with those
of another with respect to the specified comparison function. Read moreSource§fn eq_by<I, F>(self, other: I, eq: F) -> bool
fn eq_by<I, F>(self, other: I, eq: F) -> bool
🔬This is a nightly-only experimental API. (
iter_order_by
)1.5.0 · Source§fn lt<I>(self, other: I) -> bool
fn lt<I>(self, other: I) -> bool
Determines if the elements of this
Iterator
are lexicographically
less than those of another. Read more1.5.0 · Source§fn le<I>(self, other: I) -> bool
fn le<I>(self, other: I) -> bool
Determines if the elements of this
Iterator
are lexicographically
less or equal to those of another. Read more1.5.0 · Source§fn gt<I>(self, other: I) -> bool
fn gt<I>(self, other: I) -> bool
Determines if the elements of this
Iterator
are lexicographically
greater than those of another. Read more1.5.0 · Source§fn ge<I>(self, other: I) -> bool
fn ge<I>(self, other: I) -> bool
Determines if the elements of this
Iterator
are lexicographically
greater than or equal to those of another. Read more1.82.0 · Source§fn is_sorted_by<F>(self, compare: F) -> bool
fn is_sorted_by<F>(self, compare: F) -> bool
Checks if the elements of this iterator are sorted using the given comparator function. Read more
1.82.0 · Source§fn is_sorted_by_key<F, K>(self, f: F) -> bool
fn is_sorted_by_key<F, K>(self, f: F) -> bool
Checks if the elements of this iterator are sorted using the given key extraction
function. Read more
Source§impl<P: PointerFamily, Item: RefineObject<E>, E: Error + 'static> RefineObjectList<Item, ObjectListError, E> for ObjectList<P, Item>
impl<P: PointerFamily, Item: RefineObject<E>, E: Error + 'static> RefineObjectList<Item, ObjectListError, E> for ObjectList<P, Item>
Source§fn set_key_count(&mut self, key_count: &str) -> Result<(), ObjectListError>
fn set_key_count(&mut self, key_count: &str) -> Result<(), ObjectListError>
提取 key_count
Source§fn set_prefix(&mut self, prefix: &str) -> Result<(), ObjectListError>
fn set_prefix(&mut self, prefix: &str) -> Result<(), ObjectListError>
提取前缀
Source§fn set_common_prefix(
&mut self,
list: &[Cow<'_, str>],
) -> Result<(), ObjectListError>
fn set_common_prefix( &mut self, list: &[Cow<'_, str>], ) -> Result<(), ObjectListError>
提取文件目录
Source§fn set_max_keys(&mut self, max_keys: &str) -> Result<(), ObjectListError>
fn set_max_keys(&mut self, max_keys: &str) -> Result<(), ObjectListError>
提取 max_keys
Source§fn set_next_continuation_token_str(
&mut self,
token: &str,
) -> Result<(), ObjectListError>
fn set_next_continuation_token_str( &mut self, token: &str, ) -> Result<(), ObjectListError>
提取翻页信息 token
Source§fn decode_common_prefix(&mut self, xml: &str) -> Result<(), InnerListError>
fn decode_common_prefix(&mut self, xml: &str) -> Result<(), InnerListError>
用于解析 common prefix
Auto Trait Implementations§
impl<P, Item> Freeze for ObjectList<P, Item>where
<P as PointerFamily>::PointerType: Freeze,
impl<P, Item> RefUnwindSafe for ObjectList<P, Item>where
<P as PointerFamily>::PointerType: RefUnwindSafe,
Item: RefUnwindSafe,
impl<P, Item> Send for ObjectList<P, Item>
impl<P, Item> Sync for ObjectList<P, Item>
impl<P, Item> Unpin for ObjectList<P, Item>
impl<P, Item> UnwindSafe for ObjectList<P, Item>where
<P as PointerFamily>::PointerType: UnwindSafe,
Item: UnwindSafe,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<P, T> Files<P> for T
impl<P, T> Files<P> for T
Source§const DEFAULT_CONTENT_TYPE: &'static str = DEFAULT_CONTENT_TYPE
const DEFAULT_CONTENT_TYPE: &'static str = DEFAULT_CONTENT_TYPE
默认的文件类型 Read more
Source§fn put_file<'life0, 'async_trait, P>(
&'life0 self,
file_name: P,
path: Path,
) -> Pin<Box<dyn Future<Output = Result<String, FileError>> + Send + 'async_trait>>
fn put_file<'life0, 'async_trait, P>( &'life0 self, file_name: P, path: Path, ) -> Pin<Box<dyn Future<Output = Result<String, FileError>> + Send + 'async_trait>>
上传文件到 OSS Read more
Source§fn put_content<'life0, 'async_trait, F>(
&'life0 self,
content: Vec<u8>,
path: Path,
get_content_type: F,
) -> Pin<Box<dyn Future<Output = Result<String, FileError>> + Send + 'async_trait>>
fn put_content<'life0, 'async_trait, F>( &'life0 self, content: Vec<u8>, path: Path, get_content_type: F, ) -> Pin<Box<dyn Future<Output = Result<String, FileError>> + Send + 'async_trait>>
上传文件内容到 OSS Read more
Source§fn put_content_base<'life0, 'life1, 'async_trait>(
&'life0 self,
content: Vec<u8>,
content_type: &'life1 str,
path: Path,
) -> Pin<Box<dyn Future<Output = Result<Response, FileError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn put_content_base<'life0, 'life1, 'async_trait>(
&'life0 self,
content: Vec<u8>,
content_type: &'life1 str,
path: Path,
) -> Pin<Box<dyn Future<Output = Result<Response, FileError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
最核心的上传文件到 OSS 的方法
Source§fn get_object<'life0, 'async_trait, Num, R>(
&'life0 self,
path: Path,
range: R,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, FileError>> + Send + 'async_trait>>where
R: Into<ContentRange<Num>> + Send + Sync + 'async_trait,
ContentRange<Num>: Into<HeaderValue>,
Num: 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
fn get_object<'life0, 'async_trait, Num, R>(
&'life0 self,
path: Path,
range: R,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, FileError>> + Send + 'async_trait>>where
R: Into<ContentRange<Num>> + Send + Sync + 'async_trait,
ContentRange<Num>: Into<HeaderValue>,
Num: 'async_trait,
Self: Sync + 'async_trait,
'life0: 'async_trait,
获取 OSS 上文件的部分或全部内容 Read more
Source§impl<P, T> Files<P> for Twhere
T: AlignBuilder + GetStdWithPath<P>,
impl<P, T> Files<P> for Twhere
T: AlignBuilder + GetStdWithPath<P>,
Source§const DEFAULT_CONTENT_TYPE: &'static str = super::DEFAULT_CONTENT_TYPE
const DEFAULT_CONTENT_TYPE: &'static str = super::DEFAULT_CONTENT_TYPE
默认的文件类型 Read more
Source§fn put_file<P: Into<PathBuf> + AsRef<Path>>(
&self,
file_name: P,
path: Path,
) -> Result<String, FileError>
fn put_file<P: Into<PathBuf> + AsRef<Path>>( &self, file_name: P, path: Path, ) -> Result<String, FileError>
上传文件到 OSS Read more
Source§fn put_content<F>(
&self,
content: Vec<u8>,
path: Path,
get_content_type: F,
) -> Result<String, FileError>
fn put_content<F>( &self, content: Vec<u8>, path: Path, get_content_type: F, ) -> Result<String, FileError>
上传文件内容到 OSS Read more
Source§fn put_content_base(
&self,
content: Vec<u8>,
content_type: &str,
path: Path,
) -> Result<Response, FileError>
fn put_content_base( &self, content: Vec<u8>, content_type: &str, path: Path, ) -> Result<Response, FileError>
最原始的上传文件的方法
Source§impl<B> GetStdWithPath<&ObjectPathInner<'static>> for Bwhere
B: AsRef<BucketBase>,
impl<B> GetStdWithPath<&ObjectPathInner<'static>> for Bwhere
B: AsRef<BucketBase>,
Source§fn get_std_with_path(
&self,
path: &ObjectPathInner<'static>,
) -> Option<(Url, InnerCanonicalizedResource<'static>)>
fn get_std_with_path( &self, path: &ObjectPathInner<'static>, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl<B> GetStdWithPath<&str> for Bwhere
B: AsRef<BucketBase>,
impl<B> GetStdWithPath<&str> for Bwhere
B: AsRef<BucketBase>,
Source§fn get_std_with_path(
&self,
path: &str,
) -> Option<(Url, InnerCanonicalizedResource<'static>)>
fn get_std_with_path( &self, path: &str, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl<B> GetStdWithPath<ObjectPathInner<'static>> for Bwhere
B: AsRef<BucketBase>,
impl<B> GetStdWithPath<ObjectPathInner<'static>> for Bwhere
B: AsRef<BucketBase>,
Source§fn get_std_with_path(
&self,
path: ObjectPathInner<'static>,
) -> Option<(Url, InnerCanonicalizedResource<'static>)>
fn get_std_with_path( &self, path: ObjectPathInner<'static>, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>
根据 path 获取
Url
和 CanonicalizedResource
Source§impl<B> GetStdWithPath<String> for Bwhere
B: AsRef<BucketBase>,
impl<B> GetStdWithPath<String> for Bwhere
B: AsRef<BucketBase>,
Source§fn get_std_with_path(
&self,
path: String,
) -> Option<(Url, InnerCanonicalizedResource<'static>)>
fn get_std_with_path( &self, path: String, ) -> Option<(Url, InnerCanonicalizedResource<'static>)>
根据 path 获取
Url
和 CanonicalizedResource