Skip to content

Commit eb198f4

Browse files
committed
chore(binding): Update Level
Change-Id: Ib6cce6176d6c2c731d28caf20eaa4584bb09a0ef
1 parent a825bed commit eb198f4

File tree

3 files changed

+22
-22
lines changed

3 files changed

+22
-22
lines changed

binding/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,6 @@ The level of handling tags:
112112

113113
|level|default|description|
114114
|-----|-------|-----------|
115-
|OnlyFirst|Yes|Handle only the first level field tags
116-
|FirstForUntagged|No|For untagged fields, only the first level is handled|
117-
|Any|No|Handle any level field tags|
115+
|OnlyFirst|No|Handle only the first level fields
116+
|FirstAndTagged|Yes|Handle the first level fields and all the tagged fields|
117+
|Any|No|Handle any level fields|

binding/bind.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ import (
1515
type Level uint8
1616

1717
const (
18-
// OnlyFirst handle only the first level field tags
18+
// OnlyFirst handle only the first level fields
1919
OnlyFirst Level = iota
20-
// FirstForUntagged for untagged fields, only the first level is handled
21-
FirstForUntagged
22-
// Any handle any level field tags
20+
// FirstAndTagged handle the first level fields and all the tagged fields
21+
FirstAndTagged
22+
// Any handle any level fields
2323
Any
2424
)
2525

@@ -42,18 +42,18 @@ func New(tagName string) *Binding {
4242
vd: validator.New(tagName),
4343
recvs: goutil.AtomicMap(),
4444
}
45-
return b.SetLevel(OnlyFirst).SetErrorFactory(nil, nil)
45+
return b.SetLevel(FirstAndTagged).SetErrorFactory(nil, nil)
4646
}
4747

4848
// SetLevel set the level of handling tags.
4949
// NOTE:
5050
// default is First
5151
func (b *Binding) SetLevel(level Level) *Binding {
5252
switch level {
53-
case OnlyFirst, FirstForUntagged, Any:
53+
case OnlyFirst, FirstAndTagged, Any:
5454
b.level = level
5555
default:
56-
b.level = OnlyFirst
56+
b.level = FirstAndTagged
5757
}
5858
return b
5959
}
@@ -149,7 +149,7 @@ func (b *Binding) getObjOrPrepare(value reflect.Value) (*receiver, error) {
149149
return true
150150
}
151151

152-
case FirstForUntagged:
152+
case FirstAndTagged:
153153
if len(paths) > 0 {
154154
var canHandle bool
155155
evals = fh.EvalFuncs()

binding/bind_test.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func TestRawBody(t *testing.T) {
2929
bodyBytes := []byte("rawbody.............")
3030
req := newRequest("", nil, nil, bytes.NewReader(bodyBytes))
3131
recv := new(Recv)
32-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
32+
binder := binding.New("api")
3333
err := binder.BindAndValidate(recv, req, nil)
3434
assert.NotNil(t, err)
3535
assert.Equal(t, err.Error(), "too long")
@@ -59,7 +59,7 @@ func TestQueryString(t *testing.T) {
5959
}
6060
req := newRequest("http://localhost:8080/?a=a1&a=a2&b=b1&c=c1&c=c2&d=d1&d=d2&y=y1", nil, nil, nil)
6161
recv := new(Recv)
62-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
62+
binder := binding.New("api")
6363
err := binder.BindAndValidate(recv, req, nil)
6464
assert.Nil(t, err)
6565
assert.Equal(t, []string{"a1", "a2"}, (**recv.X).A)
@@ -83,7 +83,7 @@ func TestQueryNum(t *testing.T) {
8383
}
8484
req := newRequest("http://localhost:8080/?a=11&a=12&b=21&c=31&c=32&d=41&d=42&y=true", nil, nil, nil)
8585
recv := new(Recv)
86-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
86+
binder := binding.New("api")
8787
err := binder.BindAndValidate(recv, req, nil)
8888
assert.Nil(t, err)
8989
assert.Equal(t, []int{11, 12}, (**recv.X).A)
@@ -116,7 +116,7 @@ func TestHeaderString(t *testing.T) {
116116
header.Add("X-Y", "y1")
117117
req := newRequest("", header, nil, nil)
118118
recv := new(Recv)
119-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
119+
binder := binding.New("api")
120120
err := binder.BindAndValidate(recv, req, nil)
121121
assert.Nil(t, err)
122122
assert.Equal(t, []string{"a1", "a2"}, (**recv.X).A)
@@ -149,7 +149,7 @@ func TestHeaderNum(t *testing.T) {
149149
header.Add("X-Y", "true")
150150
req := newRequest("", header, nil, nil)
151151
recv := new(Recv)
152-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
152+
binder := binding.New("api")
153153
err := binder.BindAndValidate(recv, req, nil)
154154
assert.Nil(t, err)
155155
assert.Equal(t, []int{11, 12}, (**recv.X).A)
@@ -183,7 +183,7 @@ func TestCookieString(t *testing.T) {
183183
}
184184
req := newRequest("", nil, cookies, nil)
185185
recv := new(Recv)
186-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
186+
binder := binding.New("api")
187187
err := binder.BindAndValidate(recv, req, nil)
188188
assert.Nil(t, err)
189189
assert.Equal(t, []string{"a1", "a2"}, (**recv.X).A)
@@ -217,7 +217,7 @@ func TestCookieNum(t *testing.T) {
217217
}
218218
req := newRequest("", nil, cookies, nil)
219219
recv := new(Recv)
220-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
220+
binder := binding.New("api")
221221
err := binder.BindAndValidate(recv, req, nil)
222222
assert.Nil(t, err)
223223
assert.Equal(t, []int{11, 12}, (**recv.X).A)
@@ -258,7 +258,7 @@ func TestFormString(t *testing.T) {
258258
header.Set("Content-Type", contentType)
259259
req := newRequest("", header, nil, bodyReader)
260260
recv := new(Recv)
261-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
261+
binder := binding.New("api")
262262
err := binder.BindAndValidate(recv, req, nil)
263263
assert.Nil(t, err)
264264
assert.Equal(t, []string{"a1", "a2"}, (**recv.X).A)
@@ -300,7 +300,7 @@ func TestFormNum(t *testing.T) {
300300
header.Set("Content-Type", contentType)
301301
req := newRequest("", header, nil, bodyReader)
302302
recv := new(Recv)
303-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
303+
binder := binding.New("api")
304304
err := binder.BindAndValidate(recv, req, nil)
305305
assert.Nil(t, err)
306306
assert.Equal(t, []int{11, 12}, (**recv.X).A)
@@ -338,7 +338,7 @@ func TestJSON(t *testing.T) {
338338
header.Set("Content-Type", "application/json")
339339
req := newRequest("", header, nil, bodyReader)
340340
recv := new(Recv)
341-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
341+
binder := binding.New("api")
342342
err := binder.BindAndValidate(recv, req, nil)
343343
assert.Nil(t, err)
344344
assert.Equal(t, []string{"a1", "a2"}, (**recv.X).A)
@@ -384,7 +384,7 @@ func TestPath(t *testing.T) {
384384

385385
req := newRequest("", nil, nil, nil)
386386
recv := new(Recv)
387-
binder := binding.New("api").SetLevel(binding.FirstForUntagged)
387+
binder := binding.New("api")
388388
err := binder.BindAndValidate(recv, req, new(testPathParams))
389389
assert.Nil(t, err)
390390
assert.Equal(t, []string{"a1"}, (**recv.X).A)

0 commit comments

Comments
 (0)