Adds a read-only example that exercises the connector against a real Nextcloud: Login Flow v2, PROPFIND listing, the Depth:0 ETag pruning probe, a 256KB range GET, and a server preview request. No PUT, MOVE or DELETE, so it cannot alter a live library. Running it against nextcloud.tourolle.paris (34.0.2) surfaced a real API flaw rather than an example bug. The crypto provider was installed in NextcloudBackend::new, but authentication necessarily runs *before* a backend exists — so any caller following the documented flow panicked on the first client build. Every entry point now goes through `http_client()`, which installs the provider first, and auth gains `begin_default()` for callers with no client yet. A test builds a client without a backend to keep the regression out. Also populates RawImage::crop from rawler's crop_area/active_area and re-phases the CFA pattern when the crop origin is odd — cropping to the active area without that swaps red and blue. Login Flow v2 confirmed working against the live server: the flow URL is issued and the poll endpoint responds. The remaining checks need a browser approval, so they run interactively. 88 tests passing.
27 lines
598 B
TOML
27 lines
598 B
TOML
[package]
|
|
name = "dr-sync-nextcloud"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
dr-types.workspace = true
|
|
dr-sync.workspace = true
|
|
reqwest.workspace = true
|
|
rustls.workspace = true
|
|
quick-xml.workspace = true
|
|
async-trait.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
thiserror.workspace = true
|
|
log.workspace = true
|
|
url.workspace = true
|
|
# Poll loop sleeps between attempts.
|
|
tokio = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tokio.workspace = true
|
|
env_logger.workspace = true
|
|
dr-decode.workspace = true
|