Expand description
Minimal-dependency Rust SDK for the Scanii content security API.
See the API reference at https://scanii.github.io/openapi/v22/.
§Principles
- Light. The smallest viable dependency set for HTTPS in Rust:
ureq,serde,serde_json.rustlsis pulled transitively by ureq’stlsfeature — never depended on directly. - Up to date. Tracks the latest Scanii API.
- Integration-only. Wraps the REST API. Retries, concurrency, and batching are the caller’s responsibility.
§Quickstart
use scanii::{ScaniiClient, ScaniiTarget};
let client = ScaniiClient::builder()
.key("your-key")
.secret("your-secret")
.target(ScaniiTarget::us1())
.build()?;
let result = client.process_file(std::path::Path::new("./file.pdf"), None, None)?;
println!("findings: {:?}", result.findings);§Errors
All public methods return Result<T, ScaniiError>. The error type is
an enum: ScaniiError::Auth for 401/403, ScaniiError::RateLimit
for 429 (with optional retry_after), and ScaniiError::Http for
other non-success statuses.
§Local testing with scanii-cli
docker run -d --name scanii-cli -p 4000:4000 ghcr.io/scanii/scanii-cli:latest server
cargo testUse ScaniiTarget::from_url for custom endpoints:
ScaniiClient::builder().target(ScaniiTarget::from_url("http://localhost:4000")).
Set SCANII_TEST_ENDPOINT to override the default http://localhost:4000.
Structs§
- Scanii
Auth Token - Short-lived auth token returned by
crate::ScaniiClient::create_auth_tokenandcrate::ScaniiClient::retrieve_auth_token. - Scanii
Client - Synchronous client for the Scanii REST API v2.2.
- Scanii
Client Builder - Builder for
ScaniiClient. - Scanii
Pending Result - Result of an asynchronous scan submission returned by
crate::ScaniiClient::process_asyncandcrate::ScaniiClient::fetch. - Scanii
Processing Result - Result of a synchronous file scan returned by
crate::ScaniiClient::processandcrate::ScaniiClient::retrieve. - Scanii
Target - Scanii regional API endpoint.
- Scanii
Trace Event - A single processing event within a
ScaniiTraceResult. - Scanii
Trace Result - Ordered processing events for a scan, returned by
crate::ScaniiClient::retrieve_trace.
Enums§
- Scanii
Error - Errors returned by
crate::ScaniiClient.
Constants§
- VERSION
- Crate version, inlined at compile time from
Cargo.toml.