summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schubert <schubter@gmail.com>2020-02-19 15:04:24 +0100
committerAndreas Schubert <schubter@gmail.com>2020-02-19 15:04:24 +0100
commit3aa32dff1d27f81cab9bfcf97e431e3c2e5e37f5 (patch)
treeeebe2f35939a08268174abffde0e88af70fc7ee8
parent1bed53b02c2f65ba26dc320a797c6fe473fce9a1 (diff)
downloadpodman-3aa32dff1d27f81cab9bfcf97e431e3c2e5e37f5.tar.gz
podman-3aa32dff1d27f81cab9bfcf97e431e3c2e5e37f5.tar.bz2
podman-3aa32dff1d27f81cab9bfcf97e431e3c2e5e37f5.zip
Fixed syscall.Signal not convertable by decoder
Signed-off-by: Andreas Schubert <schubter@gmail.com>
-rw-r--r--pkg/api/handlers/decoder.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/pkg/api/handlers/decoder.go b/pkg/api/handlers/decoder.go
index 890d77ecc..03b86275d 100644
--- a/pkg/api/handlers/decoder.go
+++ b/pkg/api/handlers/decoder.go
@@ -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)
+}