Skip to main content

Crate scanii

Crate scanii 

Source
Expand description

Minimal-dependency Rust SDK for the Scanii content security API.

See the API reference at https://scanii.github.io/openapi/v22/.

§Principles

  1. Light. The smallest viable dependency set for HTTPS in Rust: ureq, serde, serde_json. rustls is pulled transitively by ureq’s tls feature — never depended on directly.
  2. Up to date. Tracks the latest Scanii API.
  3. 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 test

Use 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§

ScaniiAuthToken
Short-lived auth token returned by crate::ScaniiClient::create_auth_token and crate::ScaniiClient::retrieve_auth_token.
ScaniiClient
Synchronous client for the Scanii REST API v2.2.
ScaniiClientBuilder
Builder for ScaniiClient.
ScaniiPendingResult
Result of an asynchronous scan submission returned by crate::ScaniiClient::process_async and crate::ScaniiClient::fetch.
ScaniiProcessingResult
Result of a synchronous file scan returned by crate::ScaniiClient::process and crate::ScaniiClient::retrieve.
ScaniiTarget
Scanii regional API endpoint.
ScaniiTraceEvent
A single processing event within a ScaniiTraceResult.
ScaniiTraceResult
Ordered processing events for a scan, returned by crate::ScaniiClient::retrieve_trace.

Enums§

ScaniiError
Errors returned by crate::ScaniiClient.

Constants§

VERSION
Crate version, inlined at compile time from Cargo.toml.