From 1f9594da08528ff9f472e3aa8794ade43d72286d Mon Sep 17 00:00:00 2001 From: xuty <xty50337@hotmail.com> Date: Tue, 31 Mar 2020 11:15:20 +0800 Subject: [PATCH] finish presignedGetObject --- example/minio_example.dart | 2 +- lib/src/minio.dart | 29 ++++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/example/minio_example.dart b/example/minio_example.dart index 8849e3f..f5e866e 100644 --- a/example/minio_example.dart +++ b/example/minio_example.dart @@ -30,7 +30,7 @@ void main() async { print('--- etag:'); print(etag); - final url = await minio.presignedUrl('GET', bucket, object, expires: 1000); + final url = await minio.presignedGetObject(bucket, object, expires: 1000); print('--- presigned url:'); print(url); diff --git a/lib/src/minio.dart b/lib/src/minio.dart index 70fe524..83433b9 100644 --- a/lib/src/minio.dart +++ b/lib/src/minio.dart @@ -614,13 +614,40 @@ class Minio { return resp.body; } + /// Generate a presigned URL for GET + /// + /// - [bucketName]: name of the bucket + /// - [objectName]: name of the object + /// - [expires]: expiry in seconds (optional, default 7 days) + /// - [respHeaders]: response headers to override (optional) + /// - [requestDate]: A date object, the url will be issued at (optional) + Future<String> presignedGetObject( + String bucket, + String object, { + int expires, + Map<String, String> respHeaders, + DateTime requestDate, + }) { + MinioInvalidBucketNameError.check(bucket); + MinioInvalidObjectNameError.check(object); + + return presignedUrl( + 'GET', + bucket, + object, + expires: expires, + reqParams: respHeaders, + requestDate: requestDate, + ); + } + /// Generate a generic presigned URL which can be /// used for HTTP methods GET, PUT, HEAD and DELETE /// /// - [method]: name of the HTTP method /// - [bucketName]: name of the bucket /// - [objectName]: name of the object - /// - [expiry]: expiry in seconds (optional, default 7 days) + /// - [expires]: expiry in seconds (optional, default 7 days) /// - [reqParams]: request parameters (optional) /// - [requestDate]: A date object, the url will be issued at (optional) Future<String> presignedUrl( -- GitLab