All notable changes to this project will be documented in this file.
list-parts returns the parts already uploaded for a multipart upload
(following pagination), or nil if the upload no longer exists — lets a
server resume an interrupted browser-direct upload.Part matching <PartNumber>).File, byte[], or
InputStream), remote URL ingestion, and browser-direct one-time upload URLs.get, list/list-seq, update, delete, and
exists?, plus original-image downloads, account statistics, signing keys,
and a raw REST API escape hatch.create-multipart-upload,
presigned-upload-part, complete-multipart-upload, and
abort-multipart-upload are now public. A server can broker the multipart
lifecycle and hand the browser one presigned PUT URL per part, so the bytes
of a large object never pass through it.First public release. (0.1.0 was burned by a partial Clojars deploy whose pom
omitted a license; it is not a usable release — use 0.1.1.)
bucket handle construction against R2's S3-compatible endpoint.put with automatic single-PUT vs. multipart selection — large objects
(and unknown-length streams) upload in concurrent, individually-retried
parts, aborting the upload on failure to avoid orphaned parts.get-bytes, get (bytes + metadata), and get-stream
(streaming, for large objects); all return nil for a missing key.head (object metadata) and exists?.delete, and delete-many (batched, automatically chunked above the
1000-key S3 limit, reporting per-key errors).list (one page, with :prefix/:delimiter/:max-keys and
continuation tokens) and list-seq (lazy enumeration across all pages).presigned-url for time-limited download (:get) and direct-upload
(:put) URLs, via SigV4 query-string signing.request escape hatch to the raw signed-S3 surface.internal.sigv4, header and presigned signing, both checked against AWS's
published test vectors) over the JDK java.net.http client (internal.s3),
with minimal S3 XML handling (internal.xml).aws-api dependency in favour of the zero-dependency
transport above. The library now adds only a ~13 KB jar (plus Clojure)
instead of the ~250 KB of transitive AWS SDK artifacts. The R2 escape hatch
changed from aws-api op maps (invoke) to raw signed HTTP (request).Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |