Skip to main content

truss/
lib.rs

1//! Shared library entry points for the `truss` project.
2
3/// Runtime-specific adapters.
4pub mod adapters;
5/// Backend codec implementations.
6pub mod codecs;
7/// Shared Core types and validation logic.
8pub mod core;
9
10#[cfg(any(feature = "s3", feature = "gcs", feature = "azure"))]
11pub use adapters::server::StorageBackend;
12#[cfg(feature = "azure")]
13pub use adapters::server::azure::{AzureContext, build_azure_context};
14#[cfg(feature = "gcs")]
15pub use adapters::server::gcs::{GcsContext, build_gcs_context};
16#[cfg(feature = "s3")]
17pub use adapters::server::s3::{S3Context, build_s3_context};
18#[cfg(feature = "server")]
19pub use adapters::server::{
20    DEFAULT_BIND_ADDR, DEFAULT_STORAGE_ROOT, ServerConfig, SignedUrlSource, SignedWatermarkParams,
21    TransformOptionsPayload, bind_addr, serve, serve_once, serve_once_with_config,
22    serve_with_config, sign_public_url,
23};
24pub use codecs::raster::transform_raster;
25#[cfg(feature = "svg")]
26pub use codecs::svg::transform_svg;
27pub use core::{
28    Artifact, ArtifactMetadata, CropRegion, Fit, MAX_DECODED_PIXELS, MAX_OUTPUT_PIXELS,
29    MAX_WATERMARK_PIXELS, MediaType, MetadataKind, MetadataPolicy, NormalizedTransformOptions,
30    NormalizedTransformRequest, Position, RawArtifact, Rgba8, Rotation, TransformError,
31    TransformOptions, TransformRequest, TransformResult, TransformWarning, WatermarkInput,
32    resolve_metadata_flags, sniff_artifact,
33};