diff --git a/example/minio_example.dart b/example/minio_example.dart index 8849e3f5a617311fb8b64a45d752e6dc7c04e150..f5e866ee722dcf20580b486671aa7ad852b16f6c 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 70fe524c980861aa5f55c3b3517fa72faf7e3190..83433b987d0755d8198e218e8804fd926c80bc44 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(