feat: Removed etag from GetObject function

This commit is contained in:
jonaustin09
2023-05-24 15:51:57 +04:00
committed by Ben McClelland
parent b41dfd653c
commit 70f5e0fac9
6 changed files with 13 additions and 25 deletions

View File

@@ -32,7 +32,7 @@ type Backend interface {
PutObject(*s3.PutObjectInput) (string, error)
HeadObject(bucket, object string, etag string) (*s3.HeadObjectOutput, error)
GetObject(bucket, object string, startOffset, length int64, writer io.Writer, etag string) (*s3.GetObjectOutput, error)
GetObject(bucket, object string, startOffset, length int64, writer io.Writer) (*s3.GetObjectOutput, error)
GetObjectAcl(bucket, object string) (*s3.GetObjectAclOutput, error)
GetObjectAttributes(bucket, object string, attributes []string) (*s3.GetObjectAttributesOutput, error)
CopyObject(srcBucket, srcObject, DstBucket, dstObject string) (*s3.CopyObjectOutput, error)
@@ -129,7 +129,7 @@ func (BackendUnsupported) DeleteObject(bucket, object string) error {
func (BackendUnsupported) DeleteObjects(bucket string, objects *s3.DeleteObjectsInput) error {
return s3err.GetAPIError(s3err.ErrNotImplemented)
}
func (BackendUnsupported) GetObject(bucket, object string, startOffset, length int64, writer io.Writer, etag string) (*s3.GetObjectOutput, error) {
func (BackendUnsupported) GetObject(bucket, object string, startOffset, length int64, writer io.Writer) (*s3.GetObjectOutput, error) {
return nil, s3err.GetAPIError(s3err.ErrNotImplemented)
}
func (BackendUnsupported) HeadObject(bucket, object string, etag string) (*s3.HeadObjectOutput, error) {

View File

@@ -50,7 +50,7 @@ var _ Backend = &BackendMock{}
// GetIAMConfigFunc: func() ([]byte, error) {
// panic("mock out the GetIAMConfig method")
// },
// GetObjectFunc: func(bucket string, object string, startOffset int64, length int64, writer io.Writer, etag string) (*s3.GetObjectOutput, error) {
// GetObjectFunc: func(bucket string, object string, startOffset int64, length int64, writer io.Writer) (*s3.GetObjectOutput, error) {
// panic("mock out the GetObject method")
// },
// GetObjectAclFunc: func(bucket string, object string) (*s3.GetObjectAclOutput, error) {
@@ -160,7 +160,7 @@ type BackendMock struct {
GetIAMConfigFunc func() ([]byte, error)
// GetObjectFunc mocks the GetObject method.
GetObjectFunc func(bucket string, object string, startOffset int64, length int64, writer io.Writer, etag string) (*s3.GetObjectOutput, error)
GetObjectFunc func(bucket string, object string, startOffset int64, length int64, writer io.Writer) (*s3.GetObjectOutput, error)
// GetObjectAclFunc mocks the GetObjectAcl method.
GetObjectAclFunc func(bucket string, object string) (*s3.GetObjectAclOutput, error)
@@ -319,8 +319,6 @@ type BackendMock struct {
Length int64
// Writer is the writer argument value.
Writer io.Writer
// Etag is the etag argument value.
Etag string
}
// GetObjectAcl holds details about calls to the GetObjectAcl method.
GetObjectAcl []struct {
@@ -896,7 +894,7 @@ func (mock *BackendMock) GetIAMConfigCalls() []struct {
}
// GetObject calls GetObjectFunc.
func (mock *BackendMock) GetObject(bucket string, object string, startOffset int64, length int64, writer io.Writer, etag string) (*s3.GetObjectOutput, error) {
func (mock *BackendMock) GetObject(bucket string, object string, startOffset int64, length int64, writer io.Writer) (*s3.GetObjectOutput, error) {
if mock.GetObjectFunc == nil {
panic("BackendMock.GetObjectFunc: method is nil but Backend.GetObject was just called")
}
@@ -906,19 +904,17 @@ func (mock *BackendMock) GetObject(bucket string, object string, startOffset int
StartOffset int64
Length int64
Writer io.Writer
Etag string
}{
Bucket: bucket,
Object: object,
StartOffset: startOffset,
Length: length,
Writer: writer,
Etag: etag,
}
mock.lockGetObject.Lock()
mock.calls.GetObject = append(mock.calls.GetObject, callInfo)
mock.lockGetObject.Unlock()
return mock.GetObjectFunc(bucket, object, startOffset, length, writer, etag)
return mock.GetObjectFunc(bucket, object, startOffset, length, writer)
}
// GetObjectCalls gets all the calls that were made to GetObject.
@@ -931,7 +927,6 @@ func (mock *BackendMock) GetObjectCalls() []struct {
StartOffset int64
Length int64
Writer io.Writer
Etag string
} {
var calls []struct {
Bucket string
@@ -939,7 +934,6 @@ func (mock *BackendMock) GetObjectCalls() []struct {
StartOffset int64
Length int64
Writer io.Writer
Etag string
}
mock.lockGetObject.RLock()
calls = mock.calls.GetObject

View File

@@ -822,7 +822,7 @@ func (p *Posix) DeleteObjects(bucket string, objects *s3.DeleteObjectsInput) err
return nil
}
func (p *Posix) GetObject(bucket, object string, startOffset, length int64, writer io.Writer, etag string) (*s3.GetObjectOutput, error) {
func (p *Posix) GetObject(bucket, object string, startOffset, length int64, writer io.Writer) (*s3.GetObjectOutput, error) {
_, err := os.Stat(bucket)
if err != nil && os.IsNotExist(err) {
return nil, s3err.GetAPIError(s3err.ErrNoSuchBucket)

View File

@@ -51,7 +51,7 @@ var _ backend.Backend = &BackendMock{}
// GetIAMConfigFunc: func() ([]byte, error) {
// panic("mock out the GetIAMConfig method")
// },
// GetObjectFunc: func(bucket string, object string, startOffset int64, length int64, writer io.Writer, etag string) (*s3.GetObjectOutput, error) {
// GetObjectFunc: func(bucket string, object string, startOffset int64, length int64, writer io.Writer) (*s3.GetObjectOutput, error) {
// panic("mock out the GetObject method")
// },
// GetObjectAclFunc: func(bucket string, object string) (*s3.GetObjectAclOutput, error) {
@@ -161,7 +161,7 @@ type BackendMock struct {
GetIAMConfigFunc func() ([]byte, error)
// GetObjectFunc mocks the GetObject method.
GetObjectFunc func(bucket string, object string, startOffset int64, length int64, writer io.Writer, etag string) (*s3.GetObjectOutput, error)
GetObjectFunc func(bucket string, object string, startOffset int64, length int64, writer io.Writer) (*s3.GetObjectOutput, error)
// GetObjectAclFunc mocks the GetObjectAcl method.
GetObjectAclFunc func(bucket string, object string) (*s3.GetObjectAclOutput, error)
@@ -320,8 +320,6 @@ type BackendMock struct {
Length int64
// Writer is the writer argument value.
Writer io.Writer
// Etag is the etag argument value.
Etag string
}
// GetObjectAcl holds details about calls to the GetObjectAcl method.
GetObjectAcl []struct {
@@ -897,7 +895,7 @@ func (mock *BackendMock) GetIAMConfigCalls() []struct {
}
// GetObject calls GetObjectFunc.
func (mock *BackendMock) GetObject(bucket string, object string, startOffset int64, length int64, writer io.Writer, etag string) (*s3.GetObjectOutput, error) {
func (mock *BackendMock) GetObject(bucket string, object string, startOffset int64, length int64, writer io.Writer) (*s3.GetObjectOutput, error) {
if mock.GetObjectFunc == nil {
panic("BackendMock.GetObjectFunc: method is nil but Backend.GetObject was just called")
}
@@ -907,19 +905,17 @@ func (mock *BackendMock) GetObject(bucket string, object string, startOffset int
StartOffset int64
Length int64
Writer io.Writer
Etag string
}{
Bucket: bucket,
Object: object,
StartOffset: startOffset,
Length: length,
Writer: writer,
Etag: etag,
}
mock.lockGetObject.Lock()
mock.calls.GetObject = append(mock.calls.GetObject, callInfo)
mock.lockGetObject.Unlock()
return mock.GetObjectFunc(bucket, object, startOffset, length, writer, etag)
return mock.GetObjectFunc(bucket, object, startOffset, length, writer)
}
// GetObjectCalls gets all the calls that were made to GetObject.
@@ -932,7 +928,6 @@ func (mock *BackendMock) GetObjectCalls() []struct {
StartOffset int64
Length int64
Writer io.Writer
Etag string
} {
var calls []struct {
Bucket string
@@ -940,7 +935,6 @@ func (mock *BackendMock) GetObjectCalls() []struct {
StartOffset int64
Length int64
Writer io.Writer
Etag string
}
mock.lockGetObject.RLock()
calls = mock.calls.GetObject

View File

@@ -82,7 +82,7 @@ func (c S3ApiController) GetActions(ctx *fiber.Ctx) error {
return errors.New("wrong api call")
}
res, err := c.be.GetObject(bucket, key, int64(startOffset), int64(length), ctx.Response().BodyWriter(), "")
res, err := c.be.GetObject(bucket, key, int64(startOffset), int64(length), ctx.Response().BodyWriter())
return responce(ctx, res, err)
}

View File

@@ -120,7 +120,7 @@ func TestS3ApiController_GetActions(t *testing.T) {
GetObjectAttributesFunc: func(bucket, object string, attributes []string) (*s3.GetObjectAttributesOutput, error) {
return &s3.GetObjectAttributesOutput{}, nil
},
GetObjectFunc: func(bucket, object string, startOffset, length int64, writer io.Writer, etag string) (*s3.GetObjectOutput, error) {
GetObjectFunc: func(bucket, object string, startOffset, length int64, writer io.Writer) (*s3.GetObjectOutput, error) {
return &s3.GetObjectOutput{Metadata: nil}, nil
},
}}