in src/client/list.rs [63:90]
fn list_paginated(
&self,
prefix: Option<&Path>,
delimiter: bool,
offset: Option<&Path>,
) -> BoxStream<'static, Result<ListResult>> {
let offset = offset.map(|x| x.to_string());
let prefix = prefix
.filter(|x| !x.as_ref().is_empty())
.map(|p| format!("{}{}", p.as_ref(), crate::path::DELIMITER));
stream_paginated(
self.clone(),
(prefix, offset),
move |client, (prefix, offset), token| async move {
let (r, next_token) = client
.list_request(
prefix.as_deref(),
delimiter,
token.as_deref(),
offset.as_deref(),
)
.await?;
Ok((r, (prefix, offset), next_token))
},
)
.boxed()
}