git-lfs-api 0.6.0

HTTP client for the Git LFS batch and locking APIs
Documentation

git-lfs-api

Async HTTP client for the Git LFS batch and locking APIs, built on reqwest (rustls).

Speaks both halves of the LFS server protocol:

  • BatchPOST /objects/batch to negotiate transfers, then follow the returned upload/download/verify actions.
  • Locking — list, create, verify, and delete file locks (/locks, /locks/verify, /locks/{id}/unlock).

The client routes every request through a 401 → credential-fill → retry-once → approve/reject loop, with an in-memory cache so subsequent requests skip the helper. Credential resolution is delegated to git-lfs-creds.

Server-supplied Retry-After is parsed off 429 / 5xx responses and surfaced through ApiError::retry_after(), so callers (the transfer queue, in our case) can honor the rate-limit window instead of falling back to exponential backoff. The parse_retry_after helper is exported for reuse on other response paths.

Part of the git-lfs Rust workspace. Experimental — not yet ready for production. License: MIT.