diff options
-rw-r--r-- | pkg/api/handlers/decoder.go | 10 | ||||
-rw-r--r-- | pkg/api/handlers/libpod/secrets.go | 8 |
2 files changed, 10 insertions, 8 deletions
diff --git a/pkg/api/handlers/decoder.go b/pkg/api/handlers/decoder.go index 5e8f12960..fbe03d97b 100644 --- a/pkg/api/handlers/decoder.go +++ b/pkg/api/handlers/decoder.go @@ -21,6 +21,7 @@ func NewAPIDecoder() *schema.Decoder { d.RegisterConverter(map[string][]string{}, convertURLValuesString) d.RegisterConverter(time.Time{}, convertTimeString) d.RegisterConverter(define.ContainerStatus(0), convertContainerStatusString) + d.RegisterConverter(map[string]string{}, convertStringMap) var Signal syscall.Signal d.RegisterConverter(Signal, convertSignal) @@ -48,6 +49,15 @@ func convertURLValuesString(query string) reflect.Value { return reflect.ValueOf(f) } +func convertStringMap(query string) reflect.Value { + res := make(map[string]string) + err := json.Unmarshal([]byte(query), &res) + if err != nil { + logrus.Infof("convertStringMap: Failed to Unmarshal %s: %s", query, err.Error()) + } + return reflect.ValueOf(res) +} + func convertContainerStatusString(query string) reflect.Value { result, err := define.StringToContainerStatus(query) if err != nil { diff --git a/pkg/api/handlers/libpod/secrets.go b/pkg/api/handlers/libpod/secrets.go index 8708e630c..3ea2c2ea8 100644 --- a/pkg/api/handlers/libpod/secrets.go +++ b/pkg/api/handlers/libpod/secrets.go @@ -1,9 +1,7 @@ package libpod import ( - "encoding/json" "net/http" - "reflect" "github.com/containers/podman/v4/libpod" "github.com/containers/podman/v4/pkg/api/handlers/utils" @@ -20,12 +18,6 @@ func CreateSecret(w http.ResponseWriter, r *http.Request) { decoder = r.Context().Value(api.DecoderKey).(*schema.Decoder) ) - decoder.RegisterConverter(map[string]string{}, func(str string) reflect.Value { - res := make(map[string]string) - json.Unmarshal([]byte(str), &res) - return reflect.ValueOf(res) - }) - query := struct { Name string `schema:"name"` Driver string `schema:"driver"` |