Explorar o código

bailout on incompatible duration format (#1326)

Thibault "bui" Koechlin %!s(int64=3) %!d(string=hai) anos
pai
achega
5a15f9b39b
Modificáronse 1 ficheiros con 8 adicións e 0 borrados
  1. 8 0
      pkg/csconfig/profiles.go

+ 8 - 0
pkg/csconfig/profiles.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"io"
 	"os"
+	"time"
 
 	"github.com/antonmedv/expr"
 	"github.com/antonmedv/expr/vm"
@@ -71,6 +72,13 @@ func (c *LocalApiServerCfg) LoadProfiles() error {
 			}
 			c.Profiles[pIdx].DebugFilters[fIdx] = debugFilter
 		}
+
+		for _, decision := range profile.Decisions {
+			if _, err := time.ParseDuration(*decision.Duration); err != nil {
+				return errors.Wrapf(err, "Error parsing duration '%s' of %s", *decision.Duration, profile.Name)
+			}
+		}
+
 	}
 	if len(c.Profiles) == 0 {
 		return fmt.Errorf("zero profiles loaded for LAPI")