diff --git a/integration/pkg/api/oasis/options/options.go b/integration/pkg/api/oasis/options/key.go similarity index 62% rename from integration/pkg/api/oasis/options/options.go rename to integration/pkg/api/oasis/options/key.go index 806d3cce7c2..7001ed22859 100644 --- a/integration/pkg/api/oasis/options/options.go +++ b/integration/pkg/api/oasis/options/key.go @@ -1,5 +1,7 @@ package options +// Query parameter for oasis service +// https://github.com/Telenav/osrm-backend/issues/128 const ( KeyMaxRange = "max_range" KeyCurrRange = "curr_range" diff --git a/integration/pkg/api/oasis/genericoptions/values.go b/integration/pkg/api/oasis/options/values.go similarity index 77% rename from integration/pkg/api/oasis/genericoptions/values.go rename to integration/pkg/api/oasis/options/values.go index 10bea0c6afe..2db1e0de599 100644 --- a/integration/pkg/api/oasis/genericoptions/values.go +++ b/integration/pkg/api/oasis/options/values.go @@ -1,5 +1,6 @@ -package genericoptions +package options +// Default configuration for oasis service const ( InvalidMaxRangeValue = -1.0 // default InvalidCurrentRangeValue = -1.0 // default diff --git a/integration/pkg/api/oasis/request.go b/integration/pkg/api/oasis/request.go index b0fd9cccdf4..c04184991be 100644 --- a/integration/pkg/api/oasis/request.go +++ b/integration/pkg/api/oasis/request.go @@ -3,13 +3,11 @@ package oasis import ( "errors" "fmt" - "math" "net/url" "strconv" "strings" "github.com/Telenav/osrm-backend/integration/pkg/api" - "github.com/Telenav/osrm-backend/integration/pkg/api/oasis/genericoptions" "github.com/Telenav/osrm-backend/integration/pkg/api/oasis/options" "github.com/Telenav/osrm-backend/integration/pkg/api/osrm/coordinate" "github.com/golang/glog" @@ -38,10 +36,10 @@ func NewRequest() *Request { Coordinates: coordinate.Coordinates{}, // generic options - MaxRange: genericoptions.InvalidMaxRangeValue, - CurrRange: genericoptions.InvalidCurrentRangeValue, - PreferLevel: genericoptions.DefaultPreferLevel, - SafeLevel: genericoptions.DefaultSafeLevel, + MaxRange: options.InvalidMaxRangeValue, + CurrRange: options.InvalidCurrentRangeValue, + PreferLevel: options.DefaultPreferLevel, + SafeLevel: options.DefaultSafeLevel, } } @@ -127,12 +125,12 @@ func (r *Request) parseQuery(params url.Values) error { func (r *Request) validate() error { // MaxRange must be set - if floatEquals(r.MaxRange, genericoptions.InvalidMaxRangeValue) || isFloatNegative(r.MaxRange) { + if floatEquals(r.MaxRange, options.InvalidMaxRangeValue) || r.MaxRange < 0 { return errors.New("Invalid value for " + options.KeyMaxRange + ".") } // CurrRange must be set - if floatEquals(r.CurrRange, genericoptions.InvalidCurrentRangeValue) || isFloatNegative(r.CurrRange) { + if floatEquals(r.CurrRange, options.InvalidCurrentRangeValue) || r.CurrRange < 0 { return errors.New("Invalid value for " + options.KeyCurrRange + ".") } @@ -163,10 +161,6 @@ func floatEquals(a, b float64) bool { return false } -func isFloatNegative(a float64) bool { - return !floatEquals(math.Abs(a), a) -} - // RequestURI convert RouteRequest to RequestURI (e.g. "/path?foo=bar"). // see more in https://golang.org/pkg/net/url/#URL.RequestURI func (r *Request) RequestURI() string {