Replace all utils.Param* with req.Params
This commit is contained in:
+23
-9
@@ -68,8 +68,11 @@ func (r *Values) TimeOr(param string, def time.Time) time.Time {
|
||||
return t
|
||||
}
|
||||
|
||||
func (r *Values) Times(param string) []time.Time {
|
||||
pStr, _ := r.Strings(param)
|
||||
func (r *Values) Times(param string) ([]time.Time, error) {
|
||||
pStr, err := r.Strings(param)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
times := make([]time.Time, len(pStr))
|
||||
for i, t := range pStr {
|
||||
ti, err := strconv.ParseInt(t, 10, 64)
|
||||
@@ -80,7 +83,7 @@ func (r *Values) Times(param string) []time.Time {
|
||||
}
|
||||
times[i] = utils.ToTime(ti)
|
||||
}
|
||||
return times
|
||||
return times, nil
|
||||
}
|
||||
|
||||
func (r *Values) Int64(param string) (int64, error) {
|
||||
@@ -119,8 +122,11 @@ func (r *Values) Int64Or(param string, def int64) int64 {
|
||||
return v
|
||||
}
|
||||
|
||||
func (r *Values) Ints(param string) []int {
|
||||
pStr, _ := r.Strings(param)
|
||||
func (r *Values) Ints(param string) ([]int, error) {
|
||||
pStr, err := r.Strings(param)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ints := make([]int, 0, len(pStr))
|
||||
for _, s := range pStr {
|
||||
i, err := strconv.ParseInt(s, 10, 64)
|
||||
@@ -128,13 +134,21 @@ func (r *Values) Ints(param string) []int {
|
||||
ints = append(ints, int(i))
|
||||
}
|
||||
}
|
||||
return ints
|
||||
return ints, nil
|
||||
}
|
||||
|
||||
func (r *Values) Bool(param string) (bool, error) {
|
||||
v, err := r.String(param)
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return strings.Contains("/true/on/1/", "/"+strings.ToLower(v)+"/"), nil
|
||||
}
|
||||
|
||||
func (r *Values) BoolOr(param string, def bool) bool {
|
||||
v, _ := r.String(param)
|
||||
if v == "" {
|
||||
v, err := r.Bool(param)
|
||||
if err != nil {
|
||||
return def
|
||||
}
|
||||
return strings.Contains("/true/on/1/", "/"+strings.ToLower(v)+"/")
|
||||
return v
|
||||
}
|
||||
|
||||
+21
-6
@@ -102,13 +102,16 @@ var _ = Describe("Request Helpers", func() {
|
||||
})
|
||||
|
||||
It("returns empty string if param does not exist", func() {
|
||||
Expect(r.Times("xx")).To(BeEmpty())
|
||||
v, err := r.Times("xx")
|
||||
Expect(err).To(MatchError(req.ErrMissingParam))
|
||||
Expect(v).To(BeEmpty())
|
||||
})
|
||||
|
||||
It("returns current time as default if param is invalid", func() {
|
||||
now := time.Now()
|
||||
r = req.Params(httptest.NewRequest("GET", "/ping?t=null", nil))
|
||||
times := r.Times("t")
|
||||
times, err := r.Times("t")
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(times).To(HaveLen(1))
|
||||
Expect(times[0]).To(BeTemporally(">=", now))
|
||||
})
|
||||
@@ -130,18 +133,28 @@ var _ = Describe("Request Helpers", func() {
|
||||
It("returns default value if param is an invalid int", func() {
|
||||
Expect(r.IntOr("inv", 999)).To(Equal(999))
|
||||
})
|
||||
|
||||
It("returns error if param is an invalid int", func() {
|
||||
_, err := r.Int("inv")
|
||||
Expect(err).To(MatchError(req.ErrInvalidParam))
|
||||
})
|
||||
})
|
||||
Context("int64", func() {
|
||||
It("returns parsed int64", func() {
|
||||
Expect(r.IntOr("i", 999)).To(Equal(123))
|
||||
Expect(r.Int64Or("i", 999)).To(Equal(int64(123)))
|
||||
})
|
||||
|
||||
It("returns default value if param does not exist", func() {
|
||||
Expect(r.IntOr("xx", 999)).To(Equal(999))
|
||||
Expect(r.Int64Or("xx", 999)).To(Equal(int64(999)))
|
||||
})
|
||||
|
||||
It("returns default value if param is an invalid int", func() {
|
||||
Expect(r.IntOr("inv", 999)).To(Equal(999))
|
||||
Expect(r.Int64Or("inv", 999)).To(Equal(int64(999)))
|
||||
})
|
||||
|
||||
It("returns error if param is an invalid int", func() {
|
||||
_, err := r.Int64("inv")
|
||||
Expect(err).To(MatchError(req.ErrInvalidParam))
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -156,7 +169,9 @@ var _ = Describe("Request Helpers", func() {
|
||||
})
|
||||
|
||||
It("returns empty array if param does not exist", func() {
|
||||
Expect(r.Ints("xx")).To(BeEmpty())
|
||||
v, err := r.Ints("xx")
|
||||
Expect(err).To(MatchError(req.ErrMissingParam))
|
||||
Expect(v).To(BeEmpty())
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user