Skip to content

Commit d164174

Browse files
Minor refactor, using restclient.BaseClient instead of
our own silly wrappers around get / post / put / delete.
1 parent 9e2d072 commit d164174

8 files changed

+42
-60
lines changed

adminapi.go

+4-22
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package radosgwadmin
22

33
import (
4-
"context"
54
"net/http"
65
"net/url"
76
"strings"
@@ -35,8 +34,7 @@ var FalseRef = &falsch
3534

3635
// AdminAPI - admin api struct
3736
type AdminAPI struct {
38-
*restclient.Client
39-
u *url.URL
37+
*restclient.BaseClient
4038
creds *awsauth.Credentials
4139
}
4240

@@ -46,15 +44,16 @@ func NewAdminAPI(cfg *Config) (*AdminAPI, error) {
4644
adminPath := strings.Trim(cfg.AdminPath, "/")
4745
aa := &AdminAPI{}
4846
var err error
49-
aa.u, err = url.Parse(baseURL + "/" + adminPath)
47+
u, err := url.Parse(baseURL + "/" + adminPath)
5048
if err != nil {
5149
return nil, err
5250
}
5351

54-
aa.Client, err = restclient.NewClient(&(cfg.ClientConfig), nil)
52+
c, err := restclient.NewClient(&(cfg.ClientConfig), nil)
5553
if err != nil {
5654
return nil, err
5755
}
56+
aa.BaseClient = &restclient.BaseClient{Client: c, BaseURL: u}
5857
aa.Client.FixupCallback = aa.fixupCallback
5958

6059
aa.creds = &awsauth.Credentials{
@@ -75,23 +74,6 @@ func NewAdminAPI(cfg *Config) (*AdminAPI, error) {
7574
return aa, nil
7675
}
7776

78-
func (aa *AdminAPI) get(ctx context.Context, path string, queryStruct interface{}, responseBody interface{}) error {
79-
return aa.Client.Get(ctx, aa.u, path, queryStruct, responseBody)
80-
}
81-
82-
func (aa *AdminAPI) delete(ctx context.Context, path string, queryStruct interface{}, responseBody interface{}) error {
83-
return aa.Client.Delete(ctx, aa.u, path, queryStruct, responseBody)
84-
}
85-
86-
func (aa *AdminAPI) post(ctx context.Context, path string, queryStruct, requestBody interface{}, responseBody interface{}) error {
87-
88-
return aa.Client.Post(ctx, aa.u, path, queryStruct, requestBody, responseBody)
89-
}
90-
91-
func (aa *AdminAPI) put(ctx context.Context, path string, queryStruct, requestBody interface{}, responseBody interface{}) error {
92-
return aa.Put(ctx, aa.u, path, queryStruct, requestBody, responseBody)
93-
}
94-
9577
// Config - this configures an AdminAPI.
9678
//
9779
// Specify CACertBundlePath to load a bundle from disk to override the default.

bucket.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ func (aa *AdminAPI) BucketList(ctx context.Context, uid string) ([]string, error
164164
Stats: false,
165165
}
166166
resp := []string{}
167-
err := aa.get(ctx, "/bucket", breq, &resp)
167+
err := aa.Get(ctx, "/bucket", breq, &resp)
168168
return resp, err
169169
}
170170

@@ -180,51 +180,51 @@ func (aa *AdminAPI) BucketStats(ctx context.Context, uid string, bucket string)
180180
if bucket != "" {
181181
breq.Bucket = bucket
182182
respB := BucketStatsResponse{}
183-
err := aa.get(ctx, "/bucket", breq, &respB)
183+
err := aa.Get(ctx, "/bucket", breq, &respB)
184184
return append(resp, respB), err
185185
}
186186

187187
breq.UID = uid
188-
err := aa.get(ctx, "/bucket", breq, &resp)
188+
err := aa.Get(ctx, "/bucket", breq, &resp)
189189
return resp, err
190190
}
191191

192192
// BucketIndex - Bucket index operations. Bucket name required.
193193
func (aa *AdminAPI) BucketIndex(ctx context.Context, bireq *BucketIndexRequest) (*BucketIndexResponse, error) {
194194
resp := &BucketIndexResponse{}
195-
err := aa.get(ctx, "/bucket?index", bireq, resp)
195+
err := aa.Get(ctx, "/bucket?index", bireq, resp)
196196
return resp, err
197197
}
198198

199199
// BucketRm - remove a bucket. bucket must be non-empty string.
200200
func (aa *AdminAPI) BucketRm(ctx context.Context, bucket string, purge bool) error {
201201
req := &bucketRmRequest{Bucket: bucket, PurgeObjects: purge}
202-
return aa.delete(ctx, "/bucket", req, nil)
202+
return aa.Delete(ctx, "/bucket", req, nil)
203203
}
204204

205205
// BucketUnlink - unlink a bucket from a user. All parameters required.
206206
func (aa *AdminAPI) BucketUnlink(ctx context.Context, bucket string, uid string) error {
207207
req := &bucketUnlinkRequest{Bucket: bucket, UID: uid}
208-
return aa.post(ctx, "/bucket", req, nil, nil)
208+
return aa.Post(ctx, "/bucket", req, nil, nil)
209209
}
210210

211211
// BucketLink - link a bucket to a user, removing any previous links. All
212212
// parameters required.
213213
func (aa *AdminAPI) BucketLink(ctx context.Context, bucket, bucketID, uid string) error {
214214
req := &bucketLinkRequest{Bucket: bucket, BucketID: bucketID, UID: uid}
215-
return aa.put(ctx, "/bucket", req, nil, nil)
215+
return aa.Put(ctx, "/bucket", req, nil, nil)
216216
}
217217

218218
// BucketObjectRm - remove a bucket. bucket must be non-empty string.
219219
func (aa *AdminAPI) BucketObjectRm(ctx context.Context, bucket, object string) error {
220220
req := &bucketObjectRmRequest{Bucket: bucket, Object: object}
221-
return aa.delete(ctx, "/bucket?object", req, nil)
221+
return aa.Delete(ctx, "/bucket?object", req, nil)
222222
}
223223

224224
// BucketPolicy - get a bucket policy. bucket required, object is optional.
225225
func (aa *AdminAPI) BucketPolicy(ctx context.Context, bucket, object string) (*BucketPolicyResponse, error) {
226226
req := bucketPolicyRequest{Bucket: bucket, Object: object}
227227
resp := &BucketPolicyResponse{}
228-
err := aa.get(ctx, "/bucket?policy", req, resp)
228+
err := aa.Get(ctx, "/bucket?policy", req, resp)
229229
return resp, err
230230
}

glide.lock

+6-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

key.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ type KeyRmRequest struct {
3535
// effect. Additionally, only one swift key may be held by each user or subuser.
3636
func (aa *AdminAPI) KeyCreate(ctx context.Context, kcr *KeyCreateRequest) ([]UserKey, error) {
3737
resp := []UserKey{}
38-
err := aa.put(ctx, "/user?key", kcr, nil, &resp)
38+
err := aa.Put(ctx, "/user?key", kcr, nil, &resp)
3939
return resp, err
4040
}
4141

4242
// KeyRm - delete an existing key.
4343
//
4444
// Key type is optional, but required to remove a swift key.
4545
func (aa *AdminAPI) KeyRm(ctx context.Context, krr *KeyRmRequest) error {
46-
return aa.delete(ctx, "/user?key", krr, nil)
46+
return aa.Delete(ctx, "/user?key", krr, nil)
4747
}

metadata.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ type MUserResponse struct {
8282
// Returns a list of usernames
8383
func (aa *AdminAPI) MListUsers(ctx context.Context) ([]string, error) {
8484
resp := []string{}
85-
err := aa.get(ctx, "/metadata/user", nil, &resp)
85+
err := aa.Get(ctx, "/metadata/user", nil, &resp)
8686
return resp, err
8787
}
8888

@@ -92,15 +92,15 @@ func (aa *AdminAPI) MGetUser(ctx context.Context, user string) (*MUserResponse,
9292
mr := &metaReq{user}
9393
resp := &MUserResponse{}
9494

95-
err := aa.get(ctx, "metadata/user", mr, resp)
95+
err := aa.Get(ctx, "metadata/user", mr, resp)
9696
return resp, err
9797
}
9898

9999
// MListBuckets - This is the "radosgw-admin metadata list bucket" command
100100
// Returns a list of usernames
101101
func (aa *AdminAPI) MListBuckets(ctx context.Context) ([]string, error) {
102102
resp := []string{}
103-
err := aa.get(ctx, "/metadata/bucket", nil, &resp)
103+
err := aa.Get(ctx, "/metadata/bucket", nil, &resp)
104104
return resp, err
105105
}
106106

@@ -110,15 +110,15 @@ func (aa *AdminAPI) MGetBucket(ctx context.Context, bucket string) (*MBucketResp
110110
mr := &metaReq{bucket}
111111
resp := &MBucketResponse{}
112112

113-
err := aa.get(ctx, "metadata/bucket", mr, resp)
113+
err := aa.Get(ctx, "metadata/bucket", mr, resp)
114114
return resp, err
115115
}
116116

117117
// MListBucketInstances - This is the "radosgw-admin metadata list bucket.instance" command
118118
// Returns a list of usernames
119119
func (aa *AdminAPI) MListBucketInstances(ctx context.Context) ([]string, error) {
120120
resp := []string{}
121-
err := aa.get(ctx, "/metadata/bucket.instance", nil, &resp)
121+
err := aa.Get(ctx, "/metadata/bucket.instance", nil, &resp)
122122
return resp, err
123123
}
124124

@@ -128,6 +128,6 @@ func (aa *AdminAPI) MGetBucketInstance(ctx context.Context, bucket string) (*MBu
128128
mr := &metaReq{bucket}
129129
resp := &MBucketInstanceResponse{}
130130

131-
err := aa.get(ctx, "metadata/bucket.instance", mr, resp)
131+
err := aa.Get(ctx, "metadata/bucket.instance", mr, resp)
132132
return resp, err
133133
}

quota.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -35,27 +35,27 @@ type Quotas struct {
3535
func (aa *AdminAPI) Quotas(ctx context.Context, uid string) (*Quotas, error) {
3636
resp := &Quotas{}
3737
req := &quotaGetRequest{UID: uid}
38-
err := aa.get(ctx, "/user?quota", req, &resp)
38+
err := aa.Get(ctx, "/user?quota", req, &resp)
3939
return resp, err
4040
}
4141

4242
// QuotaBucket - get bucket quota info by uid
4343
func (aa *AdminAPI) QuotaBucket(ctx context.Context, uid string) (*QuotaMeta, error) {
4444
resp := &QuotaMeta{}
4545
req := &quotaGetRequest{UID: uid, QuotaType: "bucket"}
46-
err := aa.get(ctx, "/user?quota", req, &resp)
46+
err := aa.Get(ctx, "/user?quota", req, &resp)
4747
return resp, err
4848
}
4949

5050
// QuotaUser - get user quota info by uid.
5151
func (aa *AdminAPI) QuotaUser(ctx context.Context, uid string) (*QuotaMeta, error) {
5252
resp := &QuotaMeta{}
5353
req := &quotaGetRequest{UID: uid, QuotaType: "user"}
54-
err := aa.get(ctx, "/user?quota", req, &resp)
54+
err := aa.Get(ctx, "/user?quota", req, &resp)
5555
return resp, err
5656
}
5757

5858
// QuotaSet - Set a quota
5959
func (aa *AdminAPI) QuotaSet(ctx context.Context, qsr *QuotaSetRequest) error {
60-
return aa.put(ctx, "/user?quota", qsr, nil, nil)
60+
return aa.Put(ctx, "/user?quota", qsr, nil, nil)
6161
}

usage.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,15 @@ type TrimUsageRequest struct {
2323

2424
// UsageTrim - trim usage data
2525
func (aa *AdminAPI) UsageTrim(ctx context.Context, treq *TrimUsageRequest) error {
26-
err := aa.delete(ctx, "/usage", treq, nil)
26+
err := aa.Delete(ctx, "/usage", treq, nil)
2727
return err
2828
}
2929

3030
// Usage - Get usage data.
3131
func (aa *AdminAPI) Usage(ctx context.Context, ureq *UsageRequest) (*UsageResponse, error) {
3232
uresp := new(UsageResponse)
3333

34-
err := aa.get(ctx, "/usage", ureq, uresp)
34+
err := aa.Get(ctx, "/usage", ureq, uresp)
3535
return uresp, err
3636
}
3737

user.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -130,47 +130,47 @@ func (aa *AdminAPI) UserInfo(ctx context.Context, uid string, stats bool) (*User
130130
uir := &userInfoRequest{uid, stats}
131131
resp := &UserInfoResponse{}
132132

133-
err := aa.get(ctx, "/user", uir, resp)
133+
err := aa.Get(ctx, "/user", uir, resp)
134134
return resp, err
135135
}
136136

137137
// UserCreate - create a user described by cur.
138138
func (aa *AdminAPI) UserCreate(ctx context.Context, cur *UserCreateRequest) (*UserInfoResponse, error) {
139139
resp := &UserInfoResponse{}
140-
err := aa.put(ctx, "/user", cur, nil, resp)
140+
err := aa.Put(ctx, "/user", cur, nil, resp)
141141
return resp, err
142142
}
143143

144144
// UserRm - delete user uid
145145
func (aa *AdminAPI) UserRm(ctx context.Context, uid string, purge bool) error {
146146
udr := &userDeleteRequest{uid, purge}
147-
return aa.delete(ctx, "/user", udr, nil)
147+
return aa.Delete(ctx, "/user", udr, nil)
148148
}
149149

150150
// UserModify - modify a user described by umr
151151
func (aa *AdminAPI) UserModify(ctx context.Context, umr *UserModifyRequest) (*UserInfoResponse, error) {
152152
resp := &UserInfoResponse{}
153-
err := aa.post(ctx, "/user", umr, nil, resp)
153+
err := aa.Post(ctx, "/user", umr, nil, resp)
154154
return resp, err
155155
}
156156

157157
// SubUserCreate - create a subuser
158158
func (aa *AdminAPI) SubUserCreate(ctx context.Context, sucr *SubUserCreateModifyRequest) ([]SubUser, error) {
159159
resp := []SubUser{}
160-
err := aa.put(ctx, "/user?subuser", sucr, nil, &resp)
160+
err := aa.Put(ctx, "/user?subuser", sucr, nil, &resp)
161161
return resp, err
162162
}
163163

164164
// SubUserModify - modify a subuser
165165
func (aa *AdminAPI) SubUserModify(ctx context.Context, sucr *SubUserCreateModifyRequest) ([]SubUser, error) {
166166
resp := []SubUser{}
167-
err := aa.post(ctx, "/user?subuser", sucr, nil, &resp)
167+
err := aa.Post(ctx, "/user?subuser", sucr, nil, &resp)
168168
return resp, err
169169
}
170170

171171
// SubUserRm - delete a subuser
172172
func (aa *AdminAPI) SubUserRm(ctx context.Context, surm *SubUserRmRequest) error {
173-
return aa.delete(ctx, "/user?subuser", surm, nil)
173+
return aa.Delete(ctx, "/user?subuser", surm, nil)
174174
}
175175

176176
// CapsAdd - Add capabilities / permissions. Returns the new effective capabilities.
@@ -183,14 +183,14 @@ func (aa *AdminAPI) SubUserRm(ctx context.Context, surm *SubUserRmRequest) error
183183
// subtractive.
184184
func (aa *AdminAPI) CapsAdd(ctx context.Context, ucr *UserCapsRequest) ([]UserCap, error) {
185185
resp := []UserCap{}
186-
err := aa.put(ctx, "/user?caps", ucr, nil, &resp)
186+
err := aa.Put(ctx, "/user?caps", ucr, nil, &resp)
187187
return resp, err
188188
}
189189

190190
// CapsRm - Remove capabilities / permissions. Returns the new effective capabilities.
191191
// See notes for CapsAdd().
192192
func (aa *AdminAPI) CapsRm(ctx context.Context, ucr *UserCapsRequest) ([]UserCap, error) {
193193
resp := []UserCap{}
194-
err := aa.delete(ctx, "/user?caps", ucr, &resp)
194+
err := aa.Delete(ctx, "/user?caps", ucr, &resp)
195195
return resp, err
196196
}

0 commit comments

Comments
 (0)