Vendor aws-sdk-go (dep ensure) (#178)
This commit is contained in:
43
vendor/github.com/aws/aws-sdk-go/service/s3/s3crypto/cipher.go
generated
vendored
Normal file
43
vendor/github.com/aws/aws-sdk-go/service/s3/s3crypto/cipher.go
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
package s3crypto
|
||||
|
||||
import (
|
||||
"io"
|
||||
)
|
||||
|
||||
// Cipher interface allows for either encryption and decryption of an object
|
||||
type Cipher interface {
|
||||
Encrypter
|
||||
Decrypter
|
||||
}
|
||||
|
||||
// Encrypter interface with only the encrypt method
|
||||
type Encrypter interface {
|
||||
Encrypt(io.Reader) io.Reader
|
||||
}
|
||||
|
||||
// Decrypter interface with only the decrypt method
|
||||
type Decrypter interface {
|
||||
Decrypt(io.Reader) io.Reader
|
||||
}
|
||||
|
||||
// CryptoReadCloser handles closing of the body and allowing reads from the decrypted
|
||||
// content.
|
||||
type CryptoReadCloser struct {
|
||||
Body io.ReadCloser
|
||||
Decrypter io.Reader
|
||||
isClosed bool
|
||||
}
|
||||
|
||||
// Close lets the CryptoReadCloser satisfy io.ReadCloser interface
|
||||
func (rc *CryptoReadCloser) Close() error {
|
||||
rc.isClosed = true
|
||||
return rc.Body.Close()
|
||||
}
|
||||
|
||||
// Read lets the CryptoReadCloser satisfy io.ReadCloser interface
|
||||
func (rc *CryptoReadCloser) Read(b []byte) (int, error) {
|
||||
if rc.isClosed {
|
||||
return 0, io.EOF
|
||||
}
|
||||
return rc.Decrypter.Read(b)
|
||||
}
|
||||
Reference in New Issue
Block a user