From 2696a8a91704c9cab1e6a6ea1172eb0c8a58ecc9 Mon Sep 17 00:00:00 2001 From: Travis Reeder Date: Thu, 18 May 2017 13:24:49 -0700 Subject: [PATCH] Fixed idle timeout bug --- api/models/route.go | 28 ++++++++++++++-------------- api/server/routes_update.go | 4 ++++ 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/api/models/route.go b/api/models/route.go index 57faf6915..f24780726 100644 --- a/api/models/route.go +++ b/api/models/route.go @@ -11,7 +11,7 @@ import ( ) const ( - defaultRouteTimeout = 30 // seconds + defaultRouteTimeout = 30 // seconds htfnScaleDownTimeout = 30 // seconds ) @@ -40,23 +40,23 @@ type Route struct { Format string `json:"format"` MaxConcurrency int `json:"max_concurrency"` Timeout int32 `json:"timeout"` - IdleTimeout int32 `json:"idle_timeout"` + IdleTimeout int32 `json:"idle_timeout"` Config `json:"config"` } var ( - ErrRoutesValidationFoundDynamicURL = errors.New("Dynamic URL is not allowed") - ErrRoutesValidationInvalidPath = errors.New("Invalid Path format") - ErrRoutesValidationInvalidType = errors.New("Invalid route Type") - ErrRoutesValidationInvalidFormat = errors.New("Invalid route Format") - ErrRoutesValidationMissingAppName = errors.New("Missing route AppName") - ErrRoutesValidationMissingImage = errors.New("Missing route Image") - ErrRoutesValidationMissingName = errors.New("Missing route Name") - ErrRoutesValidationMissingPath = errors.New("Missing route Path") - ErrRoutesValidationMissingType = errors.New("Missing route Type") - ErrRoutesValidationPathMalformed = errors.New("Path malformed") - ErrRoutesValidationNegativeTimeout = errors.New("Negative timeout") - ErrRoutesValidationNegativeIdleTimeout = errors.New("Negative idle timeout") + ErrRoutesValidationFoundDynamicURL = errors.New("Dynamic URL is not allowed") + ErrRoutesValidationInvalidPath = errors.New("Invalid Path format") + ErrRoutesValidationInvalidType = errors.New("Invalid route Type") + ErrRoutesValidationInvalidFormat = errors.New("Invalid route Format") + ErrRoutesValidationMissingAppName = errors.New("Missing route AppName") + ErrRoutesValidationMissingImage = errors.New("Missing route Image") + ErrRoutesValidationMissingName = errors.New("Missing route Name") + ErrRoutesValidationMissingPath = errors.New("Missing route Path") + ErrRoutesValidationMissingType = errors.New("Missing route Type") + ErrRoutesValidationPathMalformed = errors.New("Path malformed") + ErrRoutesValidationNegativeTimeout = errors.New("Negative timeout") + ErrRoutesValidationNegativeIdleTimeout = errors.New("Negative idle timeout") ErrRoutesValidationNegativeMaxConcurrency = errors.New("Negative MaxConcurrency") ) diff --git a/api/server/routes_update.go b/api/server/routes_update.go index cf6cc1be0..2700f324c 100644 --- a/api/server/routes_update.go +++ b/api/server/routes_update.go @@ -39,6 +39,10 @@ func (s *Server) handleRouteUpdate(c *gin.Context) { wroute.Route.AppName = c.MustGet(api.AppName).(string) wroute.Route.Path = path.Clean(c.MustGet(api.Path).(string)) + if wroute.Route.IdleTimeout == 0 { + wroute.Route.IdleTimeout = 30 + } + if err := wroute.Validate(true); err != nil { log.WithError(err).Debug(models.ErrRoutesUpdate) c.JSON(http.StatusBadRequest, simpleError(err))