mirror of
https://github.com/pgsty/minio.git
synced 2026-10-07 10:15:58 +03:00
Add madmin package context support (#9172)
This is to improve responsiveness for all admin API operations and allowing callers to cancel any on-going admin operations, if they happen to be waiting too long.
This commit is contained in:
@@ -18,12 +18,13 @@
|
||||
package madmin
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/http"
|
||||
"net/url"
|
||||
)
|
||||
|
||||
// DelConfigKV - delete key from server config.
|
||||
func (adm *AdminClient) DelConfigKV(k string) (err error) {
|
||||
func (adm *AdminClient) DelConfigKV(ctx context.Context, k string) (err error) {
|
||||
econfigBytes, err := EncryptData(adm.secretAccessKey, []byte(k))
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -35,7 +36,7 @@ func (adm *AdminClient) DelConfigKV(k string) (err error) {
|
||||
}
|
||||
|
||||
// Execute DELETE on /minio/admin/v2/del-config-kv to delete config key.
|
||||
resp, err := adm.executeMethod(http.MethodDelete, reqData)
|
||||
resp, err := adm.executeMethod(ctx, http.MethodDelete, reqData)
|
||||
|
||||
defer closeResponse(resp)
|
||||
if err != nil {
|
||||
@@ -50,7 +51,7 @@ func (adm *AdminClient) DelConfigKV(k string) (err error) {
|
||||
}
|
||||
|
||||
// SetConfigKV - set key value config to server.
|
||||
func (adm *AdminClient) SetConfigKV(kv string) (err error) {
|
||||
func (adm *AdminClient) SetConfigKV(ctx context.Context, kv string) (err error) {
|
||||
econfigBytes, err := EncryptData(adm.secretAccessKey, []byte(kv))
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -62,7 +63,7 @@ func (adm *AdminClient) SetConfigKV(kv string) (err error) {
|
||||
}
|
||||
|
||||
// Execute PUT on /minio/admin/v2/set-config-kv to set config key/value.
|
||||
resp, err := adm.executeMethod(http.MethodPut, reqData)
|
||||
resp, err := adm.executeMethod(ctx, http.MethodPut, reqData)
|
||||
|
||||
defer closeResponse(resp)
|
||||
if err != nil {
|
||||
@@ -77,12 +78,13 @@ func (adm *AdminClient) SetConfigKV(kv string) (err error) {
|
||||
}
|
||||
|
||||
// GetConfigKV - returns the key, value of the requested key, incoming data is encrypted.
|
||||
func (adm *AdminClient) GetConfigKV(key string) (Targets, error) {
|
||||
func (adm *AdminClient) GetConfigKV(ctx context.Context, key string) (Targets, error) {
|
||||
v := url.Values{}
|
||||
v.Set("key", key)
|
||||
|
||||
// Execute GET on /minio/admin/v2/get-config-kv?key={key} to get value of key.
|
||||
resp, err := adm.executeMethod(http.MethodGet,
|
||||
resp, err := adm.executeMethod(ctx,
|
||||
http.MethodGet,
|
||||
requestData{
|
||||
relPath: adminAPIPrefix + "/get-config-kv",
|
||||
queryValues: v,
|
||||
|
||||
Reference in New Issue
Block a user