Merge pull request #5262 from schubter/signal-decode

APIv2: Fixed syscall.Signal not convertable by decoder
This commit is contained in:
OpenShift Merge Robot
2020-02-21 07:33:22 -05:00
committed by GitHub

View File

@ -3,8 +3,10 @@ package handlers
import (
"encoding/json"
"reflect"
"syscall"
"time"
"github.com/containers/libpod/pkg/util"
"github.com/gorilla/schema"
"github.com/sirupsen/logrus"
)
@ -17,6 +19,9 @@ func NewAPIDecoder() *schema.Decoder {
d.IgnoreUnknownKeys(true)
d.RegisterConverter(map[string][]string{}, convertUrlValuesString)
d.RegisterConverter(time.Time{}, convertTimeString)
var Signal syscall.Signal
d.RegisterConverter(Signal, convertSignal)
return d
}
@ -89,3 +94,11 @@ func convertTimeString(query string) reflect.Value {
func ParseDateTime(query string) time.Time {
return convertTimeString(query).Interface().(time.Time)
}
func convertSignal(query string) reflect.Value {
signal, err := util.ParseSignal(query)
if err != nil {
logrus.Infof("convertSignal: Failed to parse %s: %s", query, err.Error())
}
return reflect.ValueOf(signal)
}