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