# ExOss v1.0.0 - Table of Contents

## Pages

- Guides
  - [Getting Started](getting-started.md)
  - [AWS S3](aws-s3.md)
  - [S3-Compatible Services](s3-compatible.md)
  - [CloudFront CDN](cdn-cloudfront.md)
  - [Qiniu CDN](cdn-qiniu.md)
  - [File Transfer](file-transfer.md)

## Modules

- [ExOss.Runner](ExOss.Runner.md): Executes storage operations with an explicit client.

- Core
  - [ExOss](ExOss.md): A unified S3-compatible object storage library with multi-CDN support.
  - [ExOss.Client](ExOss.Client.md): Client builder for runtime configuration.
  - [ExOss.UploadCredential](ExOss.UploadCredential.md): Upload credential struct returned by `upload_credential/3`.

- Configuration
  - [ExOss.Client.CDN](ExOss.Client.CDN.md): CDN configuration struct.
  - [ExOss.Client.Client](ExOss.Client.Client.md): Client configuration struct.

- Storage
  - [ExOss.Storage](ExOss.Storage.md): S3-based storage implementation for AWS S3 and S3-compatible services.
  - [ExOss.StorageTask](ExOss.StorageTask.md): Storage task struct for file transfer operations.

- CDN
  - [ExOss.CDN](ExOss.CDN.md): CDN dispatcher that routes to the appropriate CDN adapter module
based on the client's `cdn.module` configuration.
  - [ExOss.CDN.Behaviour](ExOss.CDN.Behaviour.md): Behaviour that all CDN adapters must implement.
  - [ExOss.CDN.CloudFront](ExOss.CDN.CloudFront.md): CloudFront CDN adapter.
  - [ExOss.CDN.Qiniu](ExOss.CDN.Qiniu.md): Qiniu CDN adapter.
  - [ExOss.CDN.Qiniu.Auth](ExOss.CDN.Qiniu.Auth.md): Authorization helpers for Qiniu CDN.
  - [ExOss.CDN.Qiniu.PutPolicy](ExOss.CDN.Qiniu.PutPolicy.md): PutPolicy struct for uploading. And you have to specify right `scope`
and `deadline` to let uploading work.

- Utilities
  - [ExOss.LocalZipper](ExOss.LocalZipper.md): Local zip generation for S3-compatible storage services that lack
cloud-side zip capabilities.
  - [ExOss.Utils](ExOss.Utils.md): Internal utility functions for URL construction, deadline computation,
and JSON codec resolution.

