daravel_s3 1.25.0
daravel_s3: ^1.25.0 copied to clipboard
S3 for Daravel. A Storage disk on AWS S3, Cloudflare R2, MinIO and other S3-compatible stores, with pure Dart SigV4, streaming multipart uploads and presigned URLs.
Changelog #
1.14.0 #
- Fixed: a request that times out is aborted (its socket leaked until the peer closed it), a response body that goes quiet for
timeoutis cut off withConnectionException, and a connection reset during a send is aConnectionException(it escaped asdart:io'sHttpException). - Fixed:
readStreamdownloads have the same quiet-body timeout asget(S3Client.bodyStream); a request whoseopenUrlfinishes after the timeout is aborted too; only a connection closed or reset before a response is retried (not everyHttpException); andbackoffno longer overflows for large attempts. - Added:
S3Client.retries(3) andretryDelay(100 ms): 500, 502, 503 (SlowDown), 504 and a connection that fails before a response are retried with exponential jittered backoff (backoff(attempt)), as the AWS SDKs do.
1.13.0 #
- First release (Blueprint #52):
S3Disk, aDiskon AWS S3 and S3-compatible stores (Cloudflare R2, MinIO, DigitalOcean Spaces, Google Cloud Storage), configured from Laravel'sAWS_*variables;SigV4Signer, AWS Signature Version 4 in pure Dart, checked against AWS's published S3 examples;putStreamthat keeps at most one part in memory and switches to a multipart upload for large streams; server-sidecopy; batchedDeleteObjects;temporaryUrlandtemporaryUploadUrl(presignedGETandPUT),temporaryUploadForm(a presignedPOSTpolicy that caps size and content type);withS3().