Module opendal::raw

source ·
Expand description

Raw modules provide raw APIs that used by underlying services


  • Only developers who want to develop new services or layers need to access raw APIs.
  • Raw APIs should only be accessed via opendal::raw::Xxxx, any public API should never expose raw API directly.
  • Raw APIs are far more less stable than public API, please don’t rely on them whenever possible.


Providing adapters and its implementations.
input provides traits and types that opendal accepts as input.
output provides traits and types that opendal returns as output.


Metadata for accessor, users can use this metadata to get information of underlying backend.
BottomUpWalker will walk dir in bottom up way:
BytesContentRange is the content range of bytes.
BytesRange(offset, size) carries a range of content.
DecompressDecoder provides blocking decompress support for opendal: decode happen inside a blocking thread (user need to handle the decompress logic)
DecompressReader provides async decompress support for opendal: decode happen inside poll_read (will block the runtime)
ErrorResponse carries HTTP status code, headers and body.
HttpClient that used across opendal.
IncomingAsyncBody carries the content returned by remote servers.
ObjectEntry is returned by ObjectPage or BlockingObjectPage during list operations.
PresignedRequest is a presigned request return by presign.
Reply for abort_multipart operation.
Reply for complete_multipart operation.
Reply fro create operation
Reply for create_multipart operation.
Reply fro delete operation
Reply for list operation.
Reply for presign operation.
Reply for read operation.
Reply for stat operation.
Reply for write operation.
Reply for write_multipart operation.
TopDownWalker will walk dir in top down way:


AccessorCapability describes accessor’s advanced capability.
AccessorHint describes accessor’s hint.
Body used in async HTTP requests.
Body used in blocking HTTP requests.
CompressAlgorithm represents all compress algorithm that OpenDAL supports.
DecompressDecoder contains all decoders that opendal supports.
DecompressState is that decode state during decompress.
Operation is the name for APIs in Accessor.


VERSION is the compiled version of OpenDAL.


Underlying trait of all backends for implementors.
BlockingObjectPage is the blocking version of ObjectPage.
Layer is used to intercept the operations on the underlying storage.
LayeredAccessor is layered accessor that forward all not implemented method to inner.
ObjectPage trait is used by Accessor to implement list operation.


build_abs_path will build an absolute path with root.
build_rel_path will build a relative path towards root.
build_rooted_abs_path will build an absolute path with root.
Get basename from path.
Get parent from path.
Create a new error happened during building request.
Create a new error happened during signing request.
Make sure all operation are constructed by normalized path:
Make sure root is normalized to style like /abc/def/.
Parse content length from header map.
Parse content md5 from header map.
Parse content range from header map.
Parse content type from header map.
parse_error_response will parse response into ErrorResponse.
Parse etag from header map.
parse_into_object_metadata will parse standards http headers into ObjectMetadata.
Parse last modified from header map.
percent_encode_path will do percent encoding for http encode path.
Validate given path is match with given ObjectMode.

Type Definitions

BlockingObjectPager is a boxed BlockingObjectPage
FusedAccessor is the type erased accessor with Box<dyn Reader>.
The boxed version of ObjectPage