{"action":"created","comment":{"url":"https://api.github.com/repos/minio/minio-go/pulls/comments/237340012","pull_request_review_id":179613095,"id":237340012,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNzM0MDAxMg==","diff_hunk":"@@ -92,6 +93,74 @@ func (c Client) PresignedPutObject(bucketName string, objectName string, expires\n \treturn c.presignURL(\"PUT\", bucketName, objectName, expires, nil)\n }\n \n+// PresignedGetObjects - Returns a presigned URL map to access objects\n+// data without credentials. URL can have a maximum expiry of\n+// upto 7days or a minimum of 1sec. Additionally you can override\n+// a set of response headers using the query parameters.\n+func (c Client) PresignedGetObjects(bucketName string, objectName string, expires time.Duration, reqParams url.Values) (u *url.URL, err error) {\n+\tif err = s3utils.CheckValidObjectName(objectName); err != nil {\n+\t\treturn nil, err\n+\t}\n+\treturn c.presignURL(\"GET\", bucketName, objectName, expires, reqParams)\n+}\n+\n+// PresignedHeadObjects - Returns a presigned URL map to access objects\n+// metadata without credentials. URL can have a maximum expiry of\n+// upto 7days or a minimum of 1sec. Additionally you can override\n+// a set of response headers using the query parameters.\n+func (c Client) PresignedHeadObjects(bucketName string, objectNames []string, expires time.Duration, reqParams url.Values) (u *url.URL, err error) {\n+\treturn c.presignURLs(\"HEAD\", bucketName, objectNames, expires, reqParams)\n+}\n+\n+// PresignedPutObjects - Returns a presigned URL map to upload  objects\n+// without credentials. URL can have a maximum expiry of upto 7days\n+// or a minimum of 1sec.\n+func (c Client) PresignedPutObjects(bucketName string, objectNames []string, expires time.Duration) (map[string][]*url.URL, err error) {","path":"api-presigned.go","position":34,"original_position":34,"commit_id":"614e4dd270e3eaab61b1adf1d5385ab7ba05be0e","original_commit_id":"614e4dd270e3eaab61b1adf1d5385ab7ba05be0e","user":{"login":"wzkun","id":39115378,"node_id":"MDQ6VXNlcjM5MTE1Mzc4","avatar_url":"https://avatars0.githubusercontent.com/u/39115378?v=4","gravatar_id":"","url":"https://api.github.com/users/wzkun","html_url":"https://github.com/wzkun","followers_url":"https://api.github.com/users/wzkun/followers","following_url":"https://api.github.com/users/wzkun/following{/other_user}","gists_url":"https://api.github.com/users/wzkun/gists{/gist_id}","starred_url":"https://api.github.com/users/wzkun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wzkun/subscriptions","organizations_url":"https://api.github.com/users/wzkun/orgs","repos_url":"https://api.github.com/users/wzkun/repos","events_url":"https://api.github.com/users/wzkun/events{/privacy}","received_events_url":"https://api.github.com/users/wzkun/received_events","type":"User","site_admin":false},"body":"OK, I will change the error.","created_at":"2018-11-29T03:07:59Z","updated_at":"2018-11-29T03:07:59Z","html_url":"https://github.com/minio/minio-go/pull/1047#discussion_r237340012","pull_request_url":"https://api.github.com/repos/minio/minio-go/pulls/1047","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/minio/minio-go/pulls/comments/237340012"},"html":{"href":"https://github.com/minio/minio-go/pull/1047#discussion_r237340012"},"pull_request":{"href":"https://api.github.com/repos/minio/minio-go/pulls/1047"}},"in_reply_to_id":237339221},"pull_request":{"url":"https://api.github.com/repos/minio/minio-go/pulls/1047","id":234493375,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM0NDkzMzc1","html_url":"https://github.com/minio/minio-go/pull/1047","diff_url":"https://github.com/minio/minio-go/pull/1047.diff","patch_url":"https://github.com/minio/minio-go/pull/1047.patch","issue_url":"https://api.github.com/repos/minio/minio-go/issues/1047","number":1047,"state":"open","locked":false,"title":"add batch presigned api","user":{"login":"wzkun","id":39115378,"node_id":"MDQ6VXNlcjM5MTE1Mzc4","avatar_url":"https://avatars0.githubusercontent.com/u/39115378?v=4","gravatar_id":"","url":"https://api.github.com/users/wzkun","html_url":"https://github.com/wzkun","followers_url":"https://api.github.com/users/wzkun/followers","following_url":"https://api.github.com/users/wzkun/following{/other_user}","gists_url":"https://api.github.com/users/wzkun/gists{/gist_id}","starred_url":"https://api.github.com/users/wzkun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wzkun/subscriptions","organizations_url":"https://api.github.com/users/wzkun/orgs","repos_url":"https://api.github.com/users/wzkun/repos","events_url":"https://api.github.com/users/wzkun/events{/privacy}","received_events_url":"https://api.github.com/users/wzkun/received_events","type":"User","site_admin":false},"body":"Our project need batch PresignedGetObject and PresignedPutObject api, but minio-go has not provide those apis, so I change the api-presigned.go file.","created_at":"2018-11-29T03:01:17Z","updated_at":"2018-11-29T03:07:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"753a25ae7db6e0462d9c78bdd874a59c53e6fe4f","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/minio/minio-go/pulls/1047/commits","review_comments_url":"https://api.github.com/repos/minio/minio-go/pulls/1047/comments","review_comment_url":"https://api.github.com/repos/minio/minio-go/pulls/comments{/number}","comments_url":"https://api.github.com/repos/minio/minio-go/issues/1047/comments","statuses_url":"https://api.github.com/repos/minio/minio-go/statuses/614e4dd270e3eaab61b1adf1d5385ab7ba05be0e","head":{"label":"wzkun:add_batch_Presigned_operation","ref":"add_batch_Presigned_operation","sha":"614e4dd270e3eaab61b1adf1d5385ab7ba05be0e","user":{"login":"wzkun","id":39115378,"node_id":"MDQ6VXNlcjM5MTE1Mzc4","avatar_url":"https://avatars0.githubusercontent.com/u/39115378?v=4","gravatar_id":"","url":"https://api.github.com/users/wzkun","html_url":"https://github.com/wzkun","followers_url":"https://api.github.com/users/wzkun/followers","following_url":"https://api.github.com/users/wzkun/following{/other_user}","gists_url":"https://api.github.com/users/wzkun/gists{/gist_id}","starred_url":"https://api.github.com/users/wzkun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wzkun/subscriptions","organizations_url":"https://api.github.com/users/wzkun/orgs","repos_url":"https://api.github.com/users/wzkun/repos","events_url":"https://api.github.com/users/wzkun/events{/privacy}","received_events_url":"https://api.github.com/users/wzkun/received_events","type":"User","site_admin":false},"repo":{"id":159589310,"node_id":"MDEwOlJlcG9zaXRvcnkxNTk1ODkzMTA=","name":"minio-go","full_name":"wzkun/minio-go","private":false,"owner":{"login":"wzkun","id":39115378,"node_id":"MDQ6VXNlcjM5MTE1Mzc4","avatar_url":"https://avatars0.githubusercontent.com/u/39115378?v=4","gravatar_id":"","url":"https://api.github.com/users/wzkun","html_url":"https://github.com/wzkun","followers_url":"https://api.github.com/users/wzkun/followers","following_url":"https://api.github.com/users/wzkun/following{/other_user}","gists_url":"https://api.github.com/users/wzkun/gists{/gist_id}","starred_url":"https://api.github.com/users/wzkun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wzkun/subscriptions","organizations_url":"https://api.github.com/users/wzkun/orgs","repos_url":"https://api.github.com/users/wzkun/repos","events_url":"https://api.github.com/users/wzkun/events{/privacy}","received_events_url":"https://api.github.com/users/wzkun/received_events","type":"User","site_admin":false},"html_url":"https://github.com/wzkun/minio-go","description":"Minio Client SDK for Go","fork":true,"url":"https://api.github.com/repos/wzkun/minio-go","forks_url":"https://api.github.com/repos/wzkun/minio-go/forks","keys_url":"https://api.github.com/repos/wzkun/minio-go/keys{/key_id}","collaborators_url":"https://api.github.com/repos/wzkun/minio-go/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/wzkun/minio-go/teams","hooks_url":"https://api.github.com/repos/wzkun/minio-go/hooks","issue_events_url":"https://api.github.com/repos/wzkun/minio-go/issues/events{/number}","events_url":"https://api.github.com/repos/wzkun/minio-go/events","assignees_url":"https://api.github.com/repos/wzkun/minio-go/assignees{/user}","branches_url":"https://api.github.com/repos/wzkun/minio-go/branches{/branch}","tags_url":"https://api.github.com/repos/wzkun/minio-go/tags","blobs_url":"https://api.github.com/repos/wzkun/minio-go/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/wzkun/minio-go/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/wzkun/minio-go/git/refs{/sha}","trees_url":"https://api.github.com/repos/wzkun/minio-go/git/trees{/sha}","statuses_url":"https://api.github.com/repos/wzkun/minio-go/statuses/{sha}","languages_url":"https://api.github.com/repos/wzkun/minio-go/languages","stargazers_url":"https://api.github.com/repos/wzkun/minio-go/stargazers","contributors_url":"https://api.github.com/repos/wzkun/minio-go/contributors","subscribers_url":"https://api.github.com/repos/wzkun/minio-go/subscribers","subscription_url":"https://api.github.com/repos/wzkun/minio-go/subscription","commits_url":"https://api.github.com/repos/wzkun/minio-go/commits{/sha}","git_commits_url":"https://api.github.com/repos/wzkun/minio-go/git/commits{/sha}","comments_url":"https://api.github.com/repos/wzkun/minio-go/comments{/number}","issue_comment_url":"https://api.github.com/repos/wzkun/minio-go/issues/comments{/number}","contents_url":"https://api.github.com/repos/wzkun/minio-go/contents/{+path}","compare_url":"https://api.github.com/repos/wzkun/minio-go/compare/{base}...{head}","merges_url":"https://api.github.com/repos/wzkun/minio-go/merges","archive_url":"https://api.github.com/repos/wzkun/minio-go/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/wzkun/minio-go/downloads","issues_url":"https://api.github.com/repos/wzkun/minio-go/issues{/number}","pulls_url":"https://api.github.com/repos/wzkun/minio-go/pulls{/number}","milestones_url":"https://api.github.com/repos/wzkun/minio-go/milestones{/number}","notifications_url":"https://api.github.com/repos/wzkun/minio-go/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/wzkun/minio-go/labels{/name}","releases_url":"https://api.github.com/repos/wzkun/minio-go/releases{/id}","deployments_url":"https://api.github.com/repos/wzkun/minio-go/deployments","created_at":"2018-11-29T01:29:51Z","updated_at":"2018-11-29T01:29:54Z","pushed_at":"2018-11-29T02:47:34Z","git_url":"git://github.com/wzkun/minio-go.git","ssh_url":"git@github.com:wzkun/minio-go.git","clone_url":"https://github.com/wzkun/minio-go.git","svn_url":"https://github.com/wzkun/minio-go","homepage":"https://minio.io/downloads.html#download-sdk-go","size":4915,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"minio:master","ref":"master","sha":"39381cf62425050629c7264228fc2f9e0c6616f6","user":{"login":"minio","id":695951,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY5NTk1MQ==","avatar_url":"https://avatars3.githubusercontent.com/u/695951?v=4","gravatar_id":"","url":"https://api.github.com/users/minio","html_url":"https://github.com/minio","followers_url":"https://api.github.com/users/minio/followers","following_url":"https://api.github.com/users/minio/following{/other_user}","gists_url":"https://api.github.com/users/minio/gists{/gist_id}","starred_url":"https://api.github.com/users/minio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minio/subscriptions","organizations_url":"https://api.github.com/users/minio/orgs","repos_url":"https://api.github.com/users/minio/repos","events_url":"https://api.github.com/users/minio/events{/privacy}","received_events_url":"https://api.github.com/users/minio/received_events","type":"Organization","site_admin":false},"repo":{"id":34933072,"node_id":"MDEwOlJlcG9zaXRvcnkzNDkzMzA3Mg==","name":"minio-go","full_name":"minio/minio-go","private":false,"owner":{"login":"minio","id":695951,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY5NTk1MQ==","avatar_url":"https://avatars3.githubusercontent.com/u/695951?v=4","gravatar_id":"","url":"https://api.github.com/users/minio","html_url":"https://github.com/minio","followers_url":"https://api.github.com/users/minio/followers","following_url":"https://api.github.com/users/minio/following{/other_user}","gists_url":"https://api.github.com/users/minio/gists{/gist_id}","starred_url":"https://api.github.com/users/minio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/minio/subscriptions","organizations_url":"https://api.github.com/users/minio/orgs","repos_url":"https://api.github.com/users/minio/repos","events_url":"https://api.github.com/users/minio/events{/privacy}","received_events_url":"https://api.github.com/users/minio/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/minio/minio-go","description":"Minio Client SDK for Go","fork":false,"url":"https://api.github.com/repos/minio/minio-go","forks_url":"https://api.github.com/repos/minio/minio-go/forks","keys_url":"https://api.github.com/repos/minio/minio-go/keys{/key_id}","collaborators_url":"https://api.github.com/repos/minio/minio-go/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/minio/minio-go/teams","hooks_url":"https://api.github.com/repos/minio/minio-go/hooks","issue_events_url":"https://api.github.com/repos/minio/minio-go/issues/events{/number}","events_url":"https://api.github.com/repos/minio/minio-go/events","assignees_url":"https://api.github.com/repos/minio/minio-go/assignees{/user}","branches_url":"https://api.github.com/repos/minio/minio-go/branches{/branch}","tags_url":"https://api.github.com/repos/minio/minio-go/tags","blobs_url":"https://api.github.com/repos/minio/minio-go/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/minio/minio-go/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/minio/minio-go/git/refs{/sha}","trees_url":"https://api.github.com/repos/minio/minio-go/git/trees{/sha}","statuses_url":"https://api.github.com/repos/minio/minio-go/statuses/{sha}","languages_url":"https://api.github.com/repos/minio/minio-go/languages","stargazers_url":"https://api.github.com/repos/minio/minio-go/stargazers","contributors_url":"https://api.github.com/repos/minio/minio-go/contributors","subscribers_url":"https://api.github.com/repos/minio/minio-go/subscribers","subscription_url":"https://api.github.com/repos/minio/minio-go/subscription","commits_url":"https://api.github.com/repos/minio/minio-go/commits{/sha}","git_commits_url":"https://api.github.com/repos/minio/minio-go/git/commits{/sha}","comments_url":"https://api.github.com/repos/minio/minio-go/comments{/number}","issue_comment_url":"https://api.github.com/repos/minio/minio-go/issues/comments{/number}","contents_url":"https://api.github.com/repos/minio/minio-go/contents/{+path}","compare_url":"https://api.github.com/repos/minio/minio-go/compare/{base}...{head}","merges_url":"https://api.github.com/repos/minio/minio-go/merges","archive_url":"https://api.github.com/repos/minio/minio-go/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/minio/minio-go/downloads","issues_url":"https://api.github.com/repos/minio/minio-go/issues{/number}","pulls_url":"https://api.github.com/repos/minio/minio-go/pulls{/number}","milestones_url":"https://api.github.com/repos/minio/minio-go/milestones{/number}","notifications_url":"https://api.github.com/repos/minio/minio-go/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/minio/minio-go/labels{/name}","releases_url":"https://api.github.com/repos/minio/minio-go/releases{/id}","deployments_url":"https://api.github.com/repos/minio/minio-go/deployments","created_at":"2015-05-02T02:36:46Z","updated_at":"2018-11-29T02:43:02Z","pushed_at":"2018-11-29T03:01:18Z","git_url":"git://github.com/minio/minio-go.git","ssh_url":"git@github.com:minio/minio-go.git","clone_url":"https://github.com/minio/minio-go.git","svn_url":"https://github.com/minio/minio-go","homepage":"https://minio.io/downloads.html#download-sdk-go","size":4915,"stargazers_count":560,"watchers_count":560,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":191,"mirror_url":null,"archived":false,"open_issues_count":4,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":191,"open_issues":4,"watchers":560,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/minio/minio-go/pulls/1047"},"html":{"href":"https://github.com/minio/minio-go/pull/1047"},"issue":{"href":"https://api.github.com/repos/minio/minio-go/issues/1047"},"comments":{"href":"https://api.github.com/repos/minio/minio-go/issues/1047/comments"},"review_comments":{"href":"https://api.github.com/repos/minio/minio-go/pulls/1047/comments"},"review_comment":{"href":"https://api.github.com/repos/minio/minio-go/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/minio/minio-go/pulls/1047/commits"},"statuses":{"href":"https://api.github.com/repos/minio/minio-go/statuses/614e4dd270e3eaab61b1adf1d5385ab7ba05be0e"}},"author_association":"NONE"}}
{"actor":{"display_login":"wzkun"}}