mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-29 19:52:24 -05:00 
			
		
		
		
	[chore]: Bump github.com/minio/minio-go/v7 from 7.0.63 to 7.0.65 (#2415)
Bumps [github.com/minio/minio-go/v7](https://github.com/minio/minio-go) from 7.0.63 to 7.0.65. - [Release notes](https://github.com/minio/minio-go/releases) - [Commits](https://github.com/minio/minio-go/compare/v7.0.63...v7.0.65) --- updated-dependencies: - dependency-name: github.com/minio/minio-go/v7 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
		
					parent
					
						
							
								b576fbbdcb
							
						
					
				
			
			
				commit
				
					
						bdc43a98da
					
				
			
		
					 12 changed files with 182 additions and 51 deletions
				
			
		
							
								
								
									
										2
									
								
								go.mod
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
										
									
									
									
								
							|  | @ -37,7 +37,7 @@ require ( | ||||||
| 	github.com/jackc/pgx/v5 v5.5.0 | 	github.com/jackc/pgx/v5 v5.5.0 | ||||||
| 	github.com/microcosm-cc/bluemonday v1.0.26 | 	github.com/microcosm-cc/bluemonday v1.0.26 | ||||||
| 	github.com/miekg/dns v1.1.56 | 	github.com/miekg/dns v1.1.56 | ||||||
| 	github.com/minio/minio-go/v7 v7.0.63 | 	github.com/minio/minio-go/v7 v7.0.65 | ||||||
| 	github.com/mitchellh/mapstructure v1.5.0 | 	github.com/mitchellh/mapstructure v1.5.0 | ||||||
| 	github.com/oklog/ulid v1.3.1 | 	github.com/oklog/ulid v1.3.1 | ||||||
| 	github.com/prometheus/client_golang v1.17.0 | 	github.com/prometheus/client_golang v1.17.0 | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								go.sum
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								go.sum
									
										
									
									
									
								
							|  | @ -403,8 +403,8 @@ github.com/miekg/dns v1.1.56 h1:5imZaSeoRNvpM9SzWNhEcP9QliKiz20/dA2QabIGVnE= | ||||||
| github.com/miekg/dns v1.1.56/go.mod h1:cRm6Oo2C8TY9ZS/TqsSrseAcncm74lfK5G+ikN2SWWY= | github.com/miekg/dns v1.1.56/go.mod h1:cRm6Oo2C8TY9ZS/TqsSrseAcncm74lfK5G+ikN2SWWY= | ||||||
| github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= | github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= | ||||||
| github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= | github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM= | ||||||
| github.com/minio/minio-go/v7 v7.0.63 h1:GbZ2oCvaUdgT5640WJOpyDhhDxvknAJU2/T3yurwcbQ= | github.com/minio/minio-go/v7 v7.0.65 h1:sOlB8T3nQK+TApTpuN3k4WD5KasvZIE3vVFzyyCa0go= | ||||||
| github.com/minio/minio-go/v7 v7.0.63/go.mod h1:Q6X7Qjb7WMhvG65qKf4gUgA5XaiSox74kR1uAEjxRS4= | github.com/minio/minio-go/v7 v7.0.65/go.mod h1:R4WVUR6ZTedlCcGwZRauLMIKjgyaWxhs4Mqi/OMPmEc= | ||||||
| github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= | github.com/minio/sha256-simd v1.0.1 h1:6kaan5IFmwTNynnKKpDHe6FWHohJOHhCPchzK49dzMM= | ||||||
| github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= | github.com/minio/sha256-simd v1.0.1/go.mod h1:Pz6AKMiUdngCLpeTL/RJY1M9rUuPMYujV5xJjtbRSN8= | ||||||
| github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= | github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= | ||||||
|  |  | ||||||
							
								
								
									
										118
									
								
								vendor/github.com/minio/minio-go/v7/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										118
									
								
								vendor/github.com/minio/minio-go/v7/README.md
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -1,23 +1,28 @@ | ||||||
| # MinIO Go Client SDK for Amazon S3 Compatible Cloud Storage [](https://slack.min.io) [](https://sourcegraph.com/github.com/minio/minio-go?badge) [](https://github.com/minio/minio-go/blob/master/LICENSE) | # MinIO Go Client SDK for Amazon S3 Compatible Cloud Storage [](https://slack.min.io) [](https://sourcegraph.com/github.com/minio/minio-go?badge) [](https://github.com/minio/minio-go/blob/master/LICENSE) | ||||||
| 
 | 
 | ||||||
| The MinIO Go Client SDK provides simple APIs to access any Amazon S3 compatible object storage. | The MinIO Go Client SDK provides straightforward APIs to access any Amazon S3 compatible object storage. | ||||||
| 
 | 
 | ||||||
| This quickstart guide will show you how to install the MinIO client SDK, connect to MinIO, and provide a walkthrough for a simple file uploader. For a complete list of APIs and examples, please take a look at the [Go Client API Reference](https://min.io/docs/minio/linux/developers/go/API.html). | This Quickstart Guide covers how to install the MinIO client SDK, connect to MinIO, and create a sample file uploader. | ||||||
|  | For a complete list of APIs and examples, see the [godoc documentation](https://pkg.go.dev/github.com/minio/minio-go/v7) or [Go Client API Reference](https://min.io/docs/minio/linux/developers/go/API.html). | ||||||
| 
 | 
 | ||||||
| This document assumes that you have a working [Go development environment](https://golang.org/doc/install). | These examples presume a working [Go development environment](https://golang.org/doc/install) and the [MinIO `mc` command line tool](https://min.io/docs/minio/linux/reference/minio-mc.html). | ||||||
| 
 | 
 | ||||||
| ## Download from Github | ## Download from Github | ||||||
|  | 
 | ||||||
|  | From your project directory: | ||||||
|  | 
 | ||||||
| ```sh | ```sh | ||||||
| go get github.com/minio/minio-go/v7 | go get github.com/minio/minio-go/v7 | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## Initialize MinIO Client | ## Initialize a MinIO Client Object | ||||||
| MinIO client requires the following four parameters specified to connect to an Amazon S3 compatible object storage. | 
 | ||||||
|  | The MinIO client requires the following parameters to connect to an Amazon S3 compatible object storage: | ||||||
| 
 | 
 | ||||||
| | Parameter         | Description                                                | | | Parameter         | Description                                                | | ||||||
| | :---         |     :---     | | | ----------------- | ---------------------------------------------------------- | | ||||||
| | endpoint   | URL to object storage service.   | | | `endpoint`        | URL to object storage service.                             | | ||||||
| | _minio.Options_ | All the options such as credentials, custom transport etc. | | | `_minio.Options_` | All the options such as credentials, custom transport etc. | | ||||||
| 
 | 
 | ||||||
| ```go | ```go | ||||||
| package main | package main | ||||||
|  | @ -48,13 +53,25 @@ func main() { | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## Quick Start Example - File Uploader | ## Example - File Uploader | ||||||
| This example program connects to an object storage server, creates a bucket and uploads a file to the bucket. |  | ||||||
| 
 | 
 | ||||||
| We will use the MinIO server running at [https://play.min.io](https://play.min.io) in this example. Feel free to use this service for testing and development. Access credentials shown in this example are open to the public. | This sample code connects to an object storage server, creates a bucket, and uploads a file to the bucket. | ||||||
|  | It uses the MinIO `play` server, a public MinIO cluster located at [https://play.min.io](https://play.min.io). | ||||||
|  | 
 | ||||||
|  | The `play` server runs the latest stable version of MinIO and may be used for testing and development. | ||||||
|  | The access credentials shown in this example are open to the public and all data uploaded to `play` should be considered public and non-protected. | ||||||
| 
 | 
 | ||||||
| ### FileUploader.go | ### FileUploader.go | ||||||
|  | 
 | ||||||
|  | This example does the following: | ||||||
|  | 
 | ||||||
|  | - Connects to the MinIO `play` server using the provided credentials. | ||||||
|  | - Creates a bucket named `testbucket`. | ||||||
|  | - Uploads a file named `testdata` from `/tmp`. | ||||||
|  | - Verifies the file was created using `mc ls`. | ||||||
|  | 
 | ||||||
| ```go | ```go | ||||||
|  | // FileUploader.go MinIO example | ||||||
| package main | package main | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
|  | @ -81,8 +98,8 @@ func main() { | ||||||
| 		log.Fatalln(err) | 		log.Fatalln(err) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Make a new bucket called mymusic. | 	// Make a new bucket called testbucket. | ||||||
| 	bucketName := "mymusic" | 	bucketName := "testbucket" | ||||||
| 	location := "us-east-1" | 	location := "us-east-1" | ||||||
| 
 | 
 | ||||||
| 	err = minioClient.MakeBucket(ctx, bucketName, minio.MakeBucketOptions{Region: location}) | 	err = minioClient.MakeBucket(ctx, bucketName, minio.MakeBucketOptions{Region: location}) | ||||||
|  | @ -98,12 +115,13 @@ func main() { | ||||||
| 		log.Printf("Successfully created %s\n", bucketName) | 		log.Printf("Successfully created %s\n", bucketName) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Upload the zip file | 	// Upload the test file | ||||||
| 	objectName := "golden-oldies.zip" | 	// Change the value of filePath if the file is in another location | ||||||
| 	filePath := "/tmp/golden-oldies.zip" | 	objectName := "testdata" | ||||||
| 	contentType := "application/zip" | 	filePath := "/tmp/testdata" | ||||||
|  | 	contentType := "application/octet-stream" | ||||||
| 
 | 
 | ||||||
| 	// Upload the zip file with FPutObject | 	// Upload the test file with FPutObject | ||||||
| 	info, err := minioClient.FPutObject(ctx, bucketName, objectName, filePath, minio.PutObjectOptions{ContentType: contentType}) | 	info, err := minioClient.FPutObject(ctx, bucketName, objectName, filePath, minio.PutObjectOptions{ContentType: contentType}) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		log.Fatalln(err) | 		log.Fatalln(err) | ||||||
|  | @ -113,22 +131,51 @@ func main() { | ||||||
| } | } | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ### Run FileUploader | **1. Create a test file containing data:** | ||||||
| ```sh |  | ||||||
| go run file-uploader.go |  | ||||||
| 2016/08/13 17:03:28 Successfully created mymusic |  | ||||||
| 2016/08/13 17:03:40 Successfully uploaded golden-oldies.zip of size 16253413 |  | ||||||
| 
 | 
 | ||||||
| mc ls play/mymusic/ | You can do this with `dd` on Linux or macOS systems: | ||||||
| [2016-05-27 16:02:16 PDT]  17MiB golden-oldies.zip | 
 | ||||||
|  | ```sh | ||||||
|  | dd if=/dev/urandom of=/tmp/testdata bs=2048 count=10 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | or `fsutil` on Windows: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | fsutil file createnew "C:\Users\<username>\Desktop\sample.txt" 20480 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | **2. Run FileUploader with the following commands:** | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | go mod init example/FileUploader | ||||||
|  | go get github.com/minio/minio-go/v7 | ||||||
|  | go get github.com/minio/minio-go/v7/pkg/credentials | ||||||
|  | go run FileUploader.go | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | The output resembles the following: | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | 2023/11/01 14:27:55 Successfully created testbucket | ||||||
|  | 2023/11/01 14:27:55 Successfully uploaded testdata of size 20480 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | **3. Verify the Uploaded File With `mc ls`:** | ||||||
|  | 
 | ||||||
|  | ```sh | ||||||
|  | mc ls play/testbucket | ||||||
|  | [2023-11-01 14:27:55 UTC]  20KiB STANDARD TestDataFile | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
| ## API Reference | ## API Reference | ||||||
|  | 
 | ||||||
| The full API Reference is available here. | The full API Reference is available here. | ||||||
| 
 | 
 | ||||||
| * [Complete API Reference](https://min.io/docs/minio/linux/developers/go/API.html) | * [Complete API Reference](https://min.io/docs/minio/linux/developers/go/API.html) | ||||||
| 
 | 
 | ||||||
| ### API Reference : Bucket Operations | ### API Reference : Bucket Operations | ||||||
|  | 
 | ||||||
| * [`MakeBucket`](https://min.io/docs/minio/linux/developers/go/API.html#MakeBucket) | * [`MakeBucket`](https://min.io/docs/minio/linux/developers/go/API.html#MakeBucket) | ||||||
| * [`ListBuckets`](https://min.io/docs/minio/linux/developers/go/API.html#ListBuckets) | * [`ListBuckets`](https://min.io/docs/minio/linux/developers/go/API.html#ListBuckets) | ||||||
| * [`BucketExists`](https://min.io/docs/minio/linux/developers/go/API.html#BucketExists) | * [`BucketExists`](https://min.io/docs/minio/linux/developers/go/API.html#BucketExists) | ||||||
|  | @ -137,10 +184,12 @@ The full API Reference is available here. | ||||||
| * [`ListIncompleteUploads`](https://min.io/docs/minio/linux/developers/go/API.html#ListIncompleteUploads) | * [`ListIncompleteUploads`](https://min.io/docs/minio/linux/developers/go/API.html#ListIncompleteUploads) | ||||||
| 
 | 
 | ||||||
| ### API Reference : Bucket policy Operations | ### API Reference : Bucket policy Operations | ||||||
|  | 
 | ||||||
| * [`SetBucketPolicy`](https://min.io/docs/minio/linux/developers/go/API.html#SetBucketPolicy) | * [`SetBucketPolicy`](https://min.io/docs/minio/linux/developers/go/API.html#SetBucketPolicy) | ||||||
| * [`GetBucketPolicy`](https://min.io/docs/minio/linux/developers/go/API.html#GetBucketPolicy) | * [`GetBucketPolicy`](https://min.io/docs/minio/linux/developers/go/API.html#GetBucketPolicy) | ||||||
| 
 | 
 | ||||||
| ### API Reference : Bucket notification Operations | ### API Reference : Bucket notification Operations | ||||||
|  | 
 | ||||||
| * [`SetBucketNotification`](https://min.io/docs/minio/linux/developers/go/API.html#SetBucketNotification) | * [`SetBucketNotification`](https://min.io/docs/minio/linux/developers/go/API.html#SetBucketNotification) | ||||||
| * [`GetBucketNotification`](https://min.io/docs/minio/linux/developers/go/API.html#GetBucketNotification) | * [`GetBucketNotification`](https://min.io/docs/minio/linux/developers/go/API.html#GetBucketNotification) | ||||||
| * [`RemoveAllBucketNotification`](https://min.io/docs/minio/linux/developers/go/API.html#RemoveAllBucketNotification) | * [`RemoveAllBucketNotification`](https://min.io/docs/minio/linux/developers/go/API.html#RemoveAllBucketNotification) | ||||||
|  | @ -148,10 +197,12 @@ The full API Reference is available here. | ||||||
| * [`ListenNotification`](https://min.io/docs/minio/linux/developers/go/API.html#ListenNotification) (MinIO Extension) | * [`ListenNotification`](https://min.io/docs/minio/linux/developers/go/API.html#ListenNotification) (MinIO Extension) | ||||||
| 
 | 
 | ||||||
| ### API Reference : File Object Operations | ### API Reference : File Object Operations | ||||||
|  | 
 | ||||||
| * [`FPutObject`](https://min.io/docs/minio/linux/developers/go/API.html#FPutObject) | * [`FPutObject`](https://min.io/docs/minio/linux/developers/go/API.html#FPutObject) | ||||||
| * [`FGetObject`](https://min.io/docs/minio/linux/developers/go/API.html#FGetObject) | * [`FGetObject`](https://min.io/docs/minio/linux/developers/go/API.html#FGetObject) | ||||||
| 
 | 
 | ||||||
| ### API Reference : Object Operations | ### API Reference : Object Operations | ||||||
|  | 
 | ||||||
| * [`GetObject`](https://min.io/docs/minio/linux/developers/go/API.html#GetObject) | * [`GetObject`](https://min.io/docs/minio/linux/developers/go/API.html#GetObject) | ||||||
| * [`PutObject`](https://min.io/docs/minio/linux/developers/go/API.html#PutObject) | * [`PutObject`](https://min.io/docs/minio/linux/developers/go/API.html#PutObject) | ||||||
| * [`PutObjectStreaming`](https://min.io/docs/minio/linux/developers/go/API.html#PutObjectStreaming) | * [`PutObjectStreaming`](https://min.io/docs/minio/linux/developers/go/API.html#PutObjectStreaming) | ||||||
|  | @ -162,14 +213,15 @@ The full API Reference is available here. | ||||||
| * [`RemoveIncompleteUpload`](https://min.io/docs/minio/linux/developers/go/API.html#RemoveIncompleteUpload) | * [`RemoveIncompleteUpload`](https://min.io/docs/minio/linux/developers/go/API.html#RemoveIncompleteUpload) | ||||||
| * [`SelectObjectContent`](https://min.io/docs/minio/linux/developers/go/API.html#SelectObjectContent) | * [`SelectObjectContent`](https://min.io/docs/minio/linux/developers/go/API.html#SelectObjectContent) | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| ### API Reference : Presigned Operations | ### API Reference : Presigned Operations | ||||||
|  | 
 | ||||||
| * [`PresignedGetObject`](https://min.io/docs/minio/linux/developers/go/API.html#PresignedGetObject) | * [`PresignedGetObject`](https://min.io/docs/minio/linux/developers/go/API.html#PresignedGetObject) | ||||||
| * [`PresignedPutObject`](https://min.io/docs/minio/linux/developers/go/API.html#PresignedPutObject) | * [`PresignedPutObject`](https://min.io/docs/minio/linux/developers/go/API.html#PresignedPutObject) | ||||||
| * [`PresignedHeadObject`](https://min.io/docs/minio/linux/developers/go/API.html#PresignedHeadObject) | * [`PresignedHeadObject`](https://min.io/docs/minio/linux/developers/go/API.html#PresignedHeadObject) | ||||||
| * [`PresignedPostPolicy`](https://min.io/docs/minio/linux/developers/go/API.html#PresignedPostPolicy) | * [`PresignedPostPolicy`](https://min.io/docs/minio/linux/developers/go/API.html#PresignedPostPolicy) | ||||||
| 
 | 
 | ||||||
| ### API Reference : Client custom settings | ### API Reference : Client custom settings | ||||||
|  | 
 | ||||||
| * [`SetAppInfo`](https://min.io/docs/minio/linux/developers/go/API.html#SetAppInfo) | * [`SetAppInfo`](https://min.io/docs/minio/linux/developers/go/API.html#SetAppInfo) | ||||||
| * [`TraceOn`](https://min.io/docs/minio/linux/developers/go/API.html#TraceOn) | * [`TraceOn`](https://min.io/docs/minio/linux/developers/go/API.html#TraceOn) | ||||||
| * [`TraceOff`](https://min.io/docs/minio/linux/developers/go/API.html#TraceOff) | * [`TraceOff`](https://min.io/docs/minio/linux/developers/go/API.html#TraceOff) | ||||||
|  | @ -177,6 +229,7 @@ The full API Reference is available here. | ||||||
| ## Full Examples | ## Full Examples | ||||||
| 
 | 
 | ||||||
| ### Full Examples : Bucket Operations | ### Full Examples : Bucket Operations | ||||||
|  | 
 | ||||||
| * [makebucket.go](https://github.com/minio/minio-go/blob/master/examples/s3/makebucket.go) | * [makebucket.go](https://github.com/minio/minio-go/blob/master/examples/s3/makebucket.go) | ||||||
| * [listbuckets.go](https://github.com/minio/minio-go/blob/master/examples/s3/listbuckets.go) | * [listbuckets.go](https://github.com/minio/minio-go/blob/master/examples/s3/listbuckets.go) | ||||||
| * [bucketexists.go](https://github.com/minio/minio-go/blob/master/examples/s3/bucketexists.go) | * [bucketexists.go](https://github.com/minio/minio-go/blob/master/examples/s3/bucketexists.go) | ||||||
|  | @ -186,25 +239,30 @@ The full API Reference is available here. | ||||||
| * [listincompleteuploads.go](https://github.com/minio/minio-go/blob/master/examples/s3/listincompleteuploads.go) | * [listincompleteuploads.go](https://github.com/minio/minio-go/blob/master/examples/s3/listincompleteuploads.go) | ||||||
| 
 | 
 | ||||||
| ### Full Examples : Bucket policy Operations | ### Full Examples : Bucket policy Operations | ||||||
|  | 
 | ||||||
| * [setbucketpolicy.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketpolicy.go) | * [setbucketpolicy.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketpolicy.go) | ||||||
| * [getbucketpolicy.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketpolicy.go) | * [getbucketpolicy.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketpolicy.go) | ||||||
| * [listbucketpolicies.go](https://github.com/minio/minio-go/blob/master/examples/s3/listbucketpolicies.go) | * [listbucketpolicies.go](https://github.com/minio/minio-go/blob/master/examples/s3/listbucketpolicies.go) | ||||||
| 
 | 
 | ||||||
| ### Full Examples : Bucket lifecycle Operations | ### Full Examples : Bucket lifecycle Operations | ||||||
|  | 
 | ||||||
| * [setbucketlifecycle.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketlifecycle.go) | * [setbucketlifecycle.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketlifecycle.go) | ||||||
| * [getbucketlifecycle.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketlifecycle.go) | * [getbucketlifecycle.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketlifecycle.go) | ||||||
| 
 | 
 | ||||||
| ### Full Examples : Bucket encryption Operations | ### Full Examples : Bucket encryption Operations | ||||||
|  | 
 | ||||||
| * [setbucketencryption.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketencryption.go) | * [setbucketencryption.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketencryption.go) | ||||||
| * [getbucketencryption.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketencryption.go) | * [getbucketencryption.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketencryption.go) | ||||||
| * [deletebucketencryption.go](https://github.com/minio/minio-go/blob/master/examples/s3/deletebucketencryption.go) | * [deletebucketencryption.go](https://github.com/minio/minio-go/blob/master/examples/s3/deletebucketencryption.go) | ||||||
| 
 | 
 | ||||||
| ### Full Examples : Bucket replication Operations | ### Full Examples : Bucket replication Operations | ||||||
|  | 
 | ||||||
| * [setbucketreplication.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketreplication.go) | * [setbucketreplication.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketreplication.go) | ||||||
| * [getbucketreplication.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketreplication.go) | * [getbucketreplication.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketreplication.go) | ||||||
| * [removebucketreplication.go](https://github.com/minio/minio-go/blob/master/examples/s3/removebucketreplication.go) | * [removebucketreplication.go](https://github.com/minio/minio-go/blob/master/examples/s3/removebucketreplication.go) | ||||||
| 
 | 
 | ||||||
| ### Full Examples : Bucket notification Operations | ### Full Examples : Bucket notification Operations | ||||||
|  | 
 | ||||||
| * [setbucketnotification.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketnotification.go) | * [setbucketnotification.go](https://github.com/minio/minio-go/blob/master/examples/s3/setbucketnotification.go) | ||||||
| * [getbucketnotification.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketnotification.go) | * [getbucketnotification.go](https://github.com/minio/minio-go/blob/master/examples/s3/getbucketnotification.go) | ||||||
| * [removeallbucketnotification.go](https://github.com/minio/minio-go/blob/master/examples/s3/removeallbucketnotification.go) | * [removeallbucketnotification.go](https://github.com/minio/minio-go/blob/master/examples/s3/removeallbucketnotification.go) | ||||||
|  | @ -212,10 +270,12 @@ The full API Reference is available here. | ||||||
| * [listennotification.go](https://github.com/minio/minio-go/blob/master/examples/minio/listen-notification.go) (MinIO Extension) | * [listennotification.go](https://github.com/minio/minio-go/blob/master/examples/minio/listen-notification.go) (MinIO Extension) | ||||||
| 
 | 
 | ||||||
| ### Full Examples : File Object Operations | ### Full Examples : File Object Operations | ||||||
|  | 
 | ||||||
| * [fputobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/fputobject.go) | * [fputobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/fputobject.go) | ||||||
| * [fgetobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/fgetobject.go) | * [fgetobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/fgetobject.go) | ||||||
| 
 | 
 | ||||||
| ### Full Examples : Object Operations | ### Full Examples : Object Operations | ||||||
|  | 
 | ||||||
| * [putobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/putobject.go) | * [putobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/putobject.go) | ||||||
| * [getobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/getobject.go) | * [getobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/getobject.go) | ||||||
| * [statobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/statobject.go) | * [statobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/statobject.go) | ||||||
|  | @ -225,22 +285,28 @@ The full API Reference is available here. | ||||||
| * [removeobjects.go](https://github.com/minio/minio-go/blob/master/examples/s3/removeobjects.go) | * [removeobjects.go](https://github.com/minio/minio-go/blob/master/examples/s3/removeobjects.go) | ||||||
| 
 | 
 | ||||||
| ### Full Examples : Encrypted Object Operations | ### Full Examples : Encrypted Object Operations | ||||||
|  | 
 | ||||||
| * [put-encrypted-object.go](https://github.com/minio/minio-go/blob/master/examples/s3/put-encrypted-object.go) | * [put-encrypted-object.go](https://github.com/minio/minio-go/blob/master/examples/s3/put-encrypted-object.go) | ||||||
| * [get-encrypted-object.go](https://github.com/minio/minio-go/blob/master/examples/s3/get-encrypted-object.go) | * [get-encrypted-object.go](https://github.com/minio/minio-go/blob/master/examples/s3/get-encrypted-object.go) | ||||||
| * [fput-encrypted-object.go](https://github.com/minio/minio-go/blob/master/examples/s3/fputencrypted-object.go) | * [fput-encrypted-object.go](https://github.com/minio/minio-go/blob/master/examples/s3/fputencrypted-object.go) | ||||||
| 
 | 
 | ||||||
| ### Full Examples : Presigned Operations | ### Full Examples : Presigned Operations | ||||||
|  | 
 | ||||||
| * [presignedgetobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedgetobject.go) | * [presignedgetobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedgetobject.go) | ||||||
| * [presignedputobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedputobject.go) | * [presignedputobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedputobject.go) | ||||||
| * [presignedheadobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedheadobject.go) | * [presignedheadobject.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedheadobject.go) | ||||||
| * [presignedpostpolicy.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedpostpolicy.go) | * [presignedpostpolicy.go](https://github.com/minio/minio-go/blob/master/examples/s3/presignedpostpolicy.go) | ||||||
| 
 | 
 | ||||||
| ## Explore Further | ## Explore Further | ||||||
|  | 
 | ||||||
|  | * [Godoc Documentation](https://pkg.go.dev/github.com/minio/minio-go/v7) | ||||||
| * [Complete Documentation](https://min.io/docs/minio/kubernetes/upstream/index.html) | * [Complete Documentation](https://min.io/docs/minio/kubernetes/upstream/index.html) | ||||||
| * [MinIO Go Client SDK API Reference](https://min.io/docs/minio/linux/developers/go/API.html) | * [MinIO Go Client SDK API Reference](https://min.io/docs/minio/linux/developers/go/API.html) | ||||||
| 
 | 
 | ||||||
| ## Contribute | ## Contribute | ||||||
|  | 
 | ||||||
| [Contributors Guide](https://github.com/minio/minio-go/blob/master/CONTRIBUTING.md) | [Contributors Guide](https://github.com/minio/minio-go/blob/master/CONTRIBUTING.md) | ||||||
| 
 | 
 | ||||||
| ## License | ## License | ||||||
|  | 
 | ||||||
| This SDK is distributed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0), see [LICENSE](https://github.com/minio/minio-go/blob/master/LICENSE) and [NOTICE](https://github.com/minio/minio-go/blob/master/NOTICE) for more information. | This SDK is distributed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0), see [LICENSE](https://github.com/minio/minio-go/blob/master/LICENSE) and [NOTICE](https://github.com/minio/minio-go/blob/master/NOTICE) for more information. | ||||||
|  |  | ||||||
							
								
								
									
										13
									
								
								vendor/github.com/minio/minio-go/v7/api-get-object.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/github.com/minio/minio-go/v7/api-get-object.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -550,6 +550,8 @@ func (o *Object) Seek(offset int64, whence int) (n int64, err error) { | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	newOffset := o.currOffset | ||||||
|  | 
 | ||||||
| 	// Switch through whence. | 	// Switch through whence. | ||||||
| 	switch whence { | 	switch whence { | ||||||
| 	default: | 	default: | ||||||
|  | @ -558,12 +560,12 @@ func (o *Object) Seek(offset int64, whence int) (n int64, err error) { | ||||||
| 		if o.objectInfo.Size > -1 && offset > o.objectInfo.Size { | 		if o.objectInfo.Size > -1 && offset > o.objectInfo.Size { | ||||||
| 			return 0, io.EOF | 			return 0, io.EOF | ||||||
| 		} | 		} | ||||||
| 		o.currOffset = offset | 		newOffset = offset | ||||||
| 	case 1: | 	case 1: | ||||||
| 		if o.objectInfo.Size > -1 && o.currOffset+offset > o.objectInfo.Size { | 		if o.objectInfo.Size > -1 && o.currOffset+offset > o.objectInfo.Size { | ||||||
| 			return 0, io.EOF | 			return 0, io.EOF | ||||||
| 		} | 		} | ||||||
| 		o.currOffset += offset | 		newOffset += offset | ||||||
| 	case 2: | 	case 2: | ||||||
| 		// If we don't know the object size return an error for io.SeekEnd | 		// If we don't know the object size return an error for io.SeekEnd | ||||||
| 		if o.objectInfo.Size < 0 { | 		if o.objectInfo.Size < 0 { | ||||||
|  | @ -579,7 +581,7 @@ func (o *Object) Seek(offset int64, whence int) (n int64, err error) { | ||||||
| 		if o.objectInfo.Size+offset < 0 { | 		if o.objectInfo.Size+offset < 0 { | ||||||
| 			return 0, errInvalidArgument(fmt.Sprintf("Seeking at negative offset not allowed for %d", whence)) | 			return 0, errInvalidArgument(fmt.Sprintf("Seeking at negative offset not allowed for %d", whence)) | ||||||
| 		} | 		} | ||||||
| 		o.currOffset = o.objectInfo.Size + offset | 		newOffset = o.objectInfo.Size + offset | ||||||
| 	} | 	} | ||||||
| 	// Reset the saved error since we successfully seeked, let the Read | 	// Reset the saved error since we successfully seeked, let the Read | ||||||
| 	// and ReadAt decide. | 	// and ReadAt decide. | ||||||
|  | @ -587,8 +589,9 @@ func (o *Object) Seek(offset int64, whence int) (n int64, err error) { | ||||||
| 		o.prevErr = nil | 		o.prevErr = nil | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	// Ask lower level to fetch again from source | 	// Ask lower level to fetch again from source when necessary | ||||||
| 	o.seekData = true | 	o.seekData = (newOffset != o.currOffset) || o.seekData | ||||||
|  | 	o.currOffset = newOffset | ||||||
| 
 | 
 | ||||||
| 	// Return the effective offset. | 	// Return the effective offset. | ||||||
| 	return o.currOffset, nil | 	return o.currOffset, nil | ||||||
|  |  | ||||||
							
								
								
									
										5
									
								
								vendor/github.com/minio/minio-go/v7/api-put-object.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/minio/minio-go/v7/api-put-object.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -77,6 +77,7 @@ type PutObjectOptions struct { | ||||||
| 	ContentDisposition      string | 	ContentDisposition      string | ||||||
| 	ContentLanguage         string | 	ContentLanguage         string | ||||||
| 	CacheControl            string | 	CacheControl            string | ||||||
|  | 	Expires                 time.Time | ||||||
| 	Mode                    RetentionMode | 	Mode                    RetentionMode | ||||||
| 	RetainUntilDate         time.Time | 	RetainUntilDate         time.Time | ||||||
| 	ServerSideEncryption    encrypt.ServerSide | 	ServerSideEncryption    encrypt.ServerSide | ||||||
|  | @ -153,6 +154,10 @@ func (opts PutObjectOptions) Header() (header http.Header) { | ||||||
| 		header.Set("Cache-Control", opts.CacheControl) | 		header.Set("Cache-Control", opts.CacheControl) | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	if !opts.Expires.IsZero() { | ||||||
|  | 		header.Set("Expires", opts.Expires.UTC().Format(http.TimeFormat)) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	if opts.Mode != "" { | 	if opts.Mode != "" { | ||||||
| 		header.Set(amzLockMode, opts.Mode.String()) | 		header.Set(amzLockMode, opts.Mode.String()) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
							
								
								
									
										17
									
								
								vendor/github.com/minio/minio-go/v7/api-putobject-snowball.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								vendor/github.com/minio/minio-go/v7/api-putobject-snowball.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -24,6 +24,7 @@ import ( | ||||||
| 	"context" | 	"context" | ||||||
| 	"fmt" | 	"fmt" | ||||||
| 	"io" | 	"io" | ||||||
|  | 	"net/http" | ||||||
| 	"os" | 	"os" | ||||||
| 	"strings" | 	"strings" | ||||||
| 	"sync" | 	"sync" | ||||||
|  | @ -70,6 +71,14 @@ type SnowballObject struct { | ||||||
| 	// Exactly 'Size' number of bytes must be provided. | 	// Exactly 'Size' number of bytes must be provided. | ||||||
| 	Content io.Reader | 	Content io.Reader | ||||||
| 
 | 
 | ||||||
|  | 	// VersionID of the object; if empty, a new versionID will be generated | ||||||
|  | 	VersionID string | ||||||
|  | 
 | ||||||
|  | 	// Headers contains more options for this object upload, the same as you | ||||||
|  | 	// would include in a regular PutObject operation, such as user metadata | ||||||
|  | 	// and content-disposition, expires, .. | ||||||
|  | 	Headers http.Header | ||||||
|  | 
 | ||||||
| 	// Close will be called when an object has finished processing. | 	// Close will be called when an object has finished processing. | ||||||
| 	// Note that if PutObjectsSnowball returns because of an error, | 	// Note that if PutObjectsSnowball returns because of an error, | ||||||
| 	// objects not consumed from the input will NOT have been closed. | 	// objects not consumed from the input will NOT have been closed. | ||||||
|  | @ -181,6 +190,14 @@ objectLoop: | ||||||
| 				header.ModTime = time.Now().UTC() | 				header.ModTime = time.Now().UTC() | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
|  | 			header.PAXRecords = make(map[string]string) | ||||||
|  | 			if obj.VersionID != "" { | ||||||
|  | 				header.PAXRecords["minio.versionId"] = obj.VersionID | ||||||
|  | 			} | ||||||
|  | 			for k, vals := range obj.Headers { | ||||||
|  | 				header.PAXRecords["minio.metadata."+k] = strings.Join(vals, ",") | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
| 			if err := t.WriteHeader(&header); err != nil { | 			if err := t.WriteHeader(&header); err != nil { | ||||||
| 				closeObj() | 				closeObj() | ||||||
| 				return err | 				return err | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/github.com/minio/minio-go/v7/api.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/minio/minio-go/v7/api.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -127,7 +127,7 @@ type Options struct { | ||||||
| // Global constants. | // Global constants. | ||||||
| const ( | const ( | ||||||
| 	libraryName    = "minio-go" | 	libraryName    = "minio-go" | ||||||
| 	libraryVersion = "v7.0.63" | 	libraryVersion = "v7.0.65" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // User Agent should always following the below style. | // User Agent should always following the below style. | ||||||
|  |  | ||||||
							
								
								
									
										8
									
								
								vendor/github.com/minio/minio-go/v7/pkg/credentials/assume_role.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								vendor/github.com/minio/minio-go/v7/pkg/credentials/assume_role.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -93,6 +93,7 @@ type STSAssumeRoleOptions struct { | ||||||
| 	AccessKey string | 	AccessKey string | ||||||
| 	SecretKey string | 	SecretKey string | ||||||
| 
 | 
 | ||||||
|  | 	SessionToken string // Optional if the first request is made with temporary credentials. | ||||||
| 	Policy       string // Optional to assign a policy to the assumed role | 	Policy       string // Optional to assign a policy to the assumed role | ||||||
| 
 | 
 | ||||||
| 	Location        string // Optional commonly needed with AWS STS. | 	Location        string // Optional commonly needed with AWS STS. | ||||||
|  | @ -101,6 +102,7 @@ type STSAssumeRoleOptions struct { | ||||||
| 	// Optional only valid if using with AWS STS | 	// Optional only valid if using with AWS STS | ||||||
| 	RoleARN         string | 	RoleARN         string | ||||||
| 	RoleSessionName string | 	RoleSessionName string | ||||||
|  | 	ExternalID      string | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // NewSTSAssumeRole returns a pointer to a new | // NewSTSAssumeRole returns a pointer to a new | ||||||
|  | @ -161,6 +163,9 @@ func getAssumeRoleCredentials(clnt *http.Client, endpoint string, opts STSAssume | ||||||
| 	if opts.Policy != "" { | 	if opts.Policy != "" { | ||||||
| 		v.Set("Policy", opts.Policy) | 		v.Set("Policy", opts.Policy) | ||||||
| 	} | 	} | ||||||
|  | 	if opts.ExternalID != "" { | ||||||
|  | 		v.Set("ExternalId", opts.ExternalID) | ||||||
|  | 	} | ||||||
| 
 | 
 | ||||||
| 	u, err := url.Parse(endpoint) | 	u, err := url.Parse(endpoint) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
|  | @ -181,6 +186,9 @@ func getAssumeRoleCredentials(clnt *http.Client, endpoint string, opts STSAssume | ||||||
| 	} | 	} | ||||||
| 	req.Header.Set("Content-Type", "application/x-www-form-urlencoded") | 	req.Header.Set("Content-Type", "application/x-www-form-urlencoded") | ||||||
| 	req.Header.Set("X-Amz-Content-Sha256", hex.EncodeToString(hash.Sum(nil))) | 	req.Header.Set("X-Amz-Content-Sha256", hex.EncodeToString(hash.Sum(nil))) | ||||||
|  | 	if opts.SessionToken != "" { | ||||||
|  | 		req.Header.Set("X-Amz-Security-Token", opts.SessionToken) | ||||||
|  | 	} | ||||||
| 	req = signer.SignV4STS(*req, opts.AccessKey, opts.SecretKey, opts.Location) | 	req = signer.SignV4STS(*req, opts.AccessKey, opts.SecretKey, opts.Location) | ||||||
| 
 | 
 | ||||||
| 	resp, err := clnt.Do(req) | 	resp, err := clnt.Do(req) | ||||||
|  |  | ||||||
							
								
								
									
										28
									
								
								vendor/github.com/minio/minio-go/v7/pkg/lifecycle/lifecycle.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								vendor/github.com/minio/minio-go/v7/pkg/lifecycle/lifecycle.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -214,11 +214,14 @@ type And struct { | ||||||
| 	XMLName               xml.Name `xml:"And" json:"-"` | 	XMLName               xml.Name `xml:"And" json:"-"` | ||||||
| 	Prefix                string   `xml:"Prefix" json:"Prefix,omitempty"` | 	Prefix                string   `xml:"Prefix" json:"Prefix,omitempty"` | ||||||
| 	Tags                  []Tag    `xml:"Tag" json:"Tags,omitempty"` | 	Tags                  []Tag    `xml:"Tag" json:"Tags,omitempty"` | ||||||
|  | 	ObjectSizeLessThan    int64    `xml:"ObjectSizeLessThan,omitempty" json:"ObjectSizeLessThan,omitempty"` | ||||||
|  | 	ObjectSizeGreaterThan int64    `xml:"ObjectSizeGreaterThan,omitempty" json:"ObjectSizeGreaterThan,omitempty"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // IsEmpty returns true if Tags field is null | // IsEmpty returns true if Tags field is null | ||||||
| func (a And) IsEmpty() bool { | func (a And) IsEmpty() bool { | ||||||
| 	return len(a.Tags) == 0 && a.Prefix == "" | 	return len(a.Tags) == 0 && a.Prefix == "" && | ||||||
|  | 		a.ObjectSizeLessThan == 0 && a.ObjectSizeGreaterThan == 0 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Filter will be used in selecting rule(s) for lifecycle configuration | // Filter will be used in selecting rule(s) for lifecycle configuration | ||||||
|  | @ -227,11 +230,14 @@ type Filter struct { | ||||||
| 	And                   And      `xml:"And,omitempty" json:"And,omitempty"` | 	And                   And      `xml:"And,omitempty" json:"And,omitempty"` | ||||||
| 	Prefix                string   `xml:"Prefix,omitempty" json:"Prefix,omitempty"` | 	Prefix                string   `xml:"Prefix,omitempty" json:"Prefix,omitempty"` | ||||||
| 	Tag                   Tag      `xml:"Tag,omitempty" json:"Tag,omitempty"` | 	Tag                   Tag      `xml:"Tag,omitempty" json:"Tag,omitempty"` | ||||||
|  | 	ObjectSizeLessThan    int64    `xml:"ObjectSizeLessThan,omitempty" json:"ObjectSizeLessThan,omitempty"` | ||||||
|  | 	ObjectSizeGreaterThan int64    `xml:"ObjectSizeGreaterThan,omitempty" json:"ObjectSizeGreaterThan,omitempty"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // IsNull returns true if all Filter fields are empty. | // IsNull returns true if all Filter fields are empty. | ||||||
| func (f Filter) IsNull() bool { | func (f Filter) IsNull() bool { | ||||||
| 	return f.Tag.IsEmpty() && f.And.IsEmpty() && f.Prefix == "" | 	return f.Tag.IsEmpty() && f.And.IsEmpty() && f.Prefix == "" && | ||||||
|  | 		f.ObjectSizeLessThan == 0 && f.ObjectSizeGreaterThan == 0 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // MarshalJSON customizes json encoding by removing empty values. | // MarshalJSON customizes json encoding by removing empty values. | ||||||
|  | @ -240,6 +246,8 @@ func (f Filter) MarshalJSON() ([]byte, error) { | ||||||
| 		And                   *And   `json:"And,omitempty"` | 		And                   *And   `json:"And,omitempty"` | ||||||
| 		Prefix                string `json:"Prefix,omitempty"` | 		Prefix                string `json:"Prefix,omitempty"` | ||||||
| 		Tag                   *Tag   `json:"Tag,omitempty"` | 		Tag                   *Tag   `json:"Tag,omitempty"` | ||||||
|  | 		ObjectSizeLessThan    int64  `json:"ObjectSizeLessThan,omitempty"` | ||||||
|  | 		ObjectSizeGreaterThan int64  `json:"ObjectSizeGreaterThan,omitempty"` | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	newf := filter{ | 	newf := filter{ | ||||||
|  | @ -251,6 +259,8 @@ func (f Filter) MarshalJSON() ([]byte, error) { | ||||||
| 	if !f.And.IsEmpty() { | 	if !f.And.IsEmpty() { | ||||||
| 		newf.And = &f.And | 		newf.And = &f.And | ||||||
| 	} | 	} | ||||||
|  | 	newf.ObjectSizeLessThan = f.ObjectSizeLessThan | ||||||
|  | 	newf.ObjectSizeGreaterThan = f.ObjectSizeGreaterThan | ||||||
| 	return json.Marshal(newf) | 	return json.Marshal(newf) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -271,7 +281,19 @@ func (f Filter) MarshalXML(e *xml.Encoder, start xml.StartElement) error { | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
| 	default: | 	default: | ||||||
| 		// Always print Prefix field when both And & Tag are empty | 		if f.ObjectSizeLessThan > 0 { | ||||||
|  | 			if err := e.EncodeElement(f.ObjectSizeLessThan, xml.StartElement{Name: xml.Name{Local: "ObjectSizeLessThan"}}); err != nil { | ||||||
|  | 				return err | ||||||
|  | 			} | ||||||
|  | 			break | ||||||
|  | 		} | ||||||
|  | 		if f.ObjectSizeGreaterThan > 0 { | ||||||
|  | 			if err := e.EncodeElement(f.ObjectSizeGreaterThan, xml.StartElement{Name: xml.Name{Local: "ObjectSizeGreaterThan"}}); err != nil { | ||||||
|  | 				return err | ||||||
|  | 			} | ||||||
|  | 			break | ||||||
|  | 		} | ||||||
|  | 		// Print empty Prefix field only when everything else is empty | ||||||
| 		if err := e.EncodeElement(f.Prefix, xml.StartElement{Name: xml.Name{Local: "Prefix"}}); err != nil { | 		if err := e.EncodeElement(f.Prefix, xml.StartElement{Name: xml.Name{Local: "Prefix"}}); err != nil { | ||||||
| 			return err | 			return err | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
							
								
								
									
										9
									
								
								vendor/github.com/minio/minio-go/v7/pkg/notification/notification.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/github.com/minio/minio-go/v7/pkg/notification/notification.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -37,9 +37,15 @@ const ( | ||||||
| 	ObjectCreatedPut                                   EventType = "s3:ObjectCreated:Put" | 	ObjectCreatedPut                                   EventType = "s3:ObjectCreated:Put" | ||||||
| 	ObjectCreatedPost                                  EventType = "s3:ObjectCreated:Post" | 	ObjectCreatedPost                                  EventType = "s3:ObjectCreated:Post" | ||||||
| 	ObjectCreatedCopy                                  EventType = "s3:ObjectCreated:Copy" | 	ObjectCreatedCopy                                  EventType = "s3:ObjectCreated:Copy" | ||||||
|  | 	ObjectCreatedDeleteTagging                         EventType = "s3:ObjectCreated:DeleteTagging" | ||||||
| 	ObjectCreatedCompleteMultipartUpload               EventType = "s3:ObjectCreated:CompleteMultipartUpload" | 	ObjectCreatedCompleteMultipartUpload               EventType = "s3:ObjectCreated:CompleteMultipartUpload" | ||||||
|  | 	ObjectCreatedPutLegalHold                          EventType = "s3:ObjectCreated:PutLegalHold" | ||||||
|  | 	ObjectCreatedPutRetention                          EventType = "s3:ObjectCreated:PutRetention" | ||||||
|  | 	ObjectCreatedPutTagging                            EventType = "s3:ObjectCreated:PutTagging" | ||||||
| 	ObjectAccessedGet                                  EventType = "s3:ObjectAccessed:Get" | 	ObjectAccessedGet                                  EventType = "s3:ObjectAccessed:Get" | ||||||
| 	ObjectAccessedHead                                 EventType = "s3:ObjectAccessed:Head" | 	ObjectAccessedHead                                 EventType = "s3:ObjectAccessed:Head" | ||||||
|  | 	ObjectAccessedGetRetention                         EventType = "s3:ObjectAccessed:GetRetention" | ||||||
|  | 	ObjectAccessedGetLegalHold                         EventType = "s3:ObjectAccessed:GetLegalHold" | ||||||
| 	ObjectAccessedAll                                  EventType = "s3:ObjectAccessed:*" | 	ObjectAccessedAll                                  EventType = "s3:ObjectAccessed:*" | ||||||
| 	ObjectRemovedAll                                   EventType = "s3:ObjectRemoved:*" | 	ObjectRemovedAll                                   EventType = "s3:ObjectRemoved:*" | ||||||
| 	ObjectRemovedDelete                                EventType = "s3:ObjectRemoved:Delete" | 	ObjectRemovedDelete                                EventType = "s3:ObjectRemoved:Delete" | ||||||
|  | @ -56,6 +62,9 @@ const ( | ||||||
| 	ObjectReplicationOperationMissedThreshold          EventType = "s3:Replication:OperationMissedThreshold" | 	ObjectReplicationOperationMissedThreshold          EventType = "s3:Replication:OperationMissedThreshold" | ||||||
| 	ObjectReplicationOperationNotTracked               EventType = "s3:Replication:OperationNotTracked" | 	ObjectReplicationOperationNotTracked               EventType = "s3:Replication:OperationNotTracked" | ||||||
| 	ObjectReplicationOperationReplicatedAfterThreshold EventType = "s3:Replication:OperationReplicatedAfterThreshold" | 	ObjectReplicationOperationReplicatedAfterThreshold EventType = "s3:Replication:OperationReplicatedAfterThreshold" | ||||||
|  | 	ObjectScannerManyVersions                          EventType = "s3:Scanner:ManyVersions" | ||||||
|  | 	ObjectScannerBigPrefix                             EventType = "s3:Scanner:BigPrefix" | ||||||
|  | 	ObjectScannerAll                                   EventType = "s3:Scanner:*" | ||||||
| 	BucketCreatedAll                                   EventType = "s3:BucketCreated:*" | 	BucketCreatedAll                                   EventType = "s3:BucketCreated:*" | ||||||
| 	BucketRemovedAll                                   EventType = "s3:BucketRemoved:*" | 	BucketRemovedAll                                   EventType = "s3:BucketRemoved:*" | ||||||
| ) | ) | ||||||
|  |  | ||||||
							
								
								
									
										1
									
								
								vendor/github.com/minio/minio-go/v7/s3-endpoints.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/minio/minio-go/v7/s3-endpoints.go
									
										
									
										generated
									
									
										vendored
									
									
								
							|  | @ -50,6 +50,7 @@ var awsS3EndpointMap = map[string]string{ | ||||||
| 	"cn-northwest-1": "s3.dualstack.cn-northwest-1.amazonaws.com.cn", | 	"cn-northwest-1": "s3.dualstack.cn-northwest-1.amazonaws.com.cn", | ||||||
| 	"ap-southeast-3": "s3.dualstack.ap-southeast-3.amazonaws.com", | 	"ap-southeast-3": "s3.dualstack.ap-southeast-3.amazonaws.com", | ||||||
| 	"ap-southeast-4": "s3.dualstack.ap-southeast-4.amazonaws.com", | 	"ap-southeast-4": "s3.dualstack.ap-southeast-4.amazonaws.com", | ||||||
|  | 	"il-central-1":   "s3.dualstack.il-central-1.amazonaws.com", | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // getS3Endpoint get Amazon S3 endpoint based on the bucket location. | // getS3Endpoint get Amazon S3 endpoint based on the bucket location. | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/modules.txt
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/modules.txt
									
										
									
									
										vendored
									
									
								
							|  | @ -382,7 +382,7 @@ github.com/miekg/dns | ||||||
| # github.com/minio/md5-simd v1.1.2 | # github.com/minio/md5-simd v1.1.2 | ||||||
| ## explicit; go 1.14 | ## explicit; go 1.14 | ||||||
| github.com/minio/md5-simd | github.com/minio/md5-simd | ||||||
| # github.com/minio/minio-go/v7 v7.0.63 | # github.com/minio/minio-go/v7 v7.0.65 | ||||||
| ## explicit; go 1.17 | ## explicit; go 1.17 | ||||||
| github.com/minio/minio-go/v7 | github.com/minio/minio-go/v7 | ||||||
| github.com/minio/minio-go/v7/pkg/credentials | github.com/minio/minio-go/v7/pkg/credentials | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue