mirror of
https://github.com/versity/versitygw.git
synced 2026-01-05 19:34:53 +00:00
add additional constructor with s3.Client instance
This commit is contained in:
@@ -63,6 +63,18 @@ type S3Proxy struct {
|
|||||||
|
|
||||||
var _ backend.Backend = &S3Proxy{}
|
var _ backend.Backend = &S3Proxy{}
|
||||||
|
|
||||||
|
func NewWithClient(ctx context.Context, client *s3.Client, metaBucket string) (*S3Proxy, error) {
|
||||||
|
s := &S3Proxy{
|
||||||
|
metaBucket: metaBucket,
|
||||||
|
}
|
||||||
|
s.client = client
|
||||||
|
|
||||||
|
if s.metaBucket != "" && !s.bucketExists(ctx, s.metaBucket) {
|
||||||
|
return nil, fmt.Errorf("the provided meta bucket doesn't exist")
|
||||||
|
}
|
||||||
|
return s, s.validate(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
func New(ctx context.Context, access, secret, endpoint, region, metaBucket string, disableChecksum, sslSkipVerify, debug bool) (*S3Proxy, error) {
|
func New(ctx context.Context, access, secret, endpoint, region, metaBucket string, disableChecksum, sslSkipVerify, debug bool) (*S3Proxy, error) {
|
||||||
s := &S3Proxy{
|
s := &S3Proxy{
|
||||||
access: access,
|
access: access,
|
||||||
@@ -79,11 +91,14 @@ func New(ctx context.Context, access, secret, endpoint, region, metaBucket strin
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
s.client = client
|
s.client = client
|
||||||
|
return s, s.validate(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *S3Proxy) validate(ctx context.Context) error {
|
||||||
if s.metaBucket != "" && !s.bucketExists(ctx, s.metaBucket) {
|
if s.metaBucket != "" && !s.bucketExists(ctx, s.metaBucket) {
|
||||||
return nil, fmt.Errorf("the provided meta bucket doesn't exist")
|
return fmt.Errorf("the provided meta bucket doesn't exist")
|
||||||
}
|
}
|
||||||
return s, nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *S3Proxy) ListBuckets(ctx context.Context, input s3response.ListBucketsInput) (s3response.ListAllMyBucketsResult, error) {
|
func (s *S3Proxy) ListBuckets(ctx context.Context, input s3response.ListBucketsInput) (s3response.ListAllMyBucketsResult, error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user