Files
mdrs-client-rust/Cargo.toml
T
orrisroot bcf99dd6d7 fix(auth): keep the refresh token the provider hands back
The reply to a refresh carries a new refresh token and the provider
stops honouring the one that was sent. Only the access half was read,
so the cache kept re-sending a token the server had already retired.

- deserialize the refresh half and write it back to the cache, as an
  Option so a provider that does not rotate leaves the stored one be
- bound the refresh request on its own: the caller holds a lock that
  spans processes while it runs, so a provider that goes quiet would
  stall every other request on the machine
- give config create/update one rule for what a remote URL is, and
  store it without the trailing slash, matching the Python client so
  the two can share config.ini; this drops the validators crate and
  77 transitive dependencies with it
- join the base URL and the API's relative download path with the
  separator neither of them carries, as download.rs already does
2026-08-14 16:36:43 +09:00

36 lines
878 B
TOML

[package]
name = "mdrs-client-rust"
version = "2.0.1"
edition = "2024"
license = "MIT"
authors = ["Neuroinformatics Unit, RIKEN CBS"]
description = "A command-line client for uploading and downloading files to and from an MDRS-based repository."
[[bin]]
name = "mdrs"
path = "src/main.rs"
[dependencies]
clap = { version = "4.5", features = ["derive"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "multipart", "rustls-tls"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.150"
tokio = { version = "1.52.3", features = ["full"] }
futures = "0.3"
dirs = "6.0.0"
anyhow = "1.0.102"
configparser = "3.2.0"
sha2 = "0.11.0"
rpassword = "7.5.4"
base64 = "0.22"
fs2 = "0.4"
ctrlc = "3"
os_info = "3.15.0"
dotenvy = "0.15"
unicode-normalization = "0.1"
self-replace = "1"
tar = "0.4.46"
flate2 = "1"
zip = "8.6.0"
tempfile = "3"