-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmr.go
More file actions
106 lines (89 loc) · 2.08 KB
/
Copy pathmr.go
File metadata and controls
106 lines (89 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package xmux
import "net/http"
// string 对应的是url
type UrlRoute map[string]*route
func (mr UrlRoute) SetHeader(key, value string) UrlRoute {
for _, route := range mr {
route.SetHeader(key, value)
}
return mr
}
func (mr UrlRoute) AddModule(handles ...func(http.ResponseWriter, *http.Request) bool) UrlRoute {
for method := range mr {
mr[method].AddModule(handles...)
}
return mr
}
func (mr UrlRoute) Bind(dest interface{}) UrlRoute {
for method := range mr {
mr[method].Bind(DeepCopy(dest))
}
return mr
}
func (mr UrlRoute) BindResponse(dest interface{}) UrlRoute {
for method := range mr {
mr[method].BindResponse(DeepCopy(dest))
}
return mr
}
func (mr UrlRoute) BindByContentType(dest interface{}) UrlRoute {
for method := range mr {
mr[method].BindByContentType(DeepCopy(dest))
}
return mr
}
func (mr UrlRoute) BindForm(dest interface{}) UrlRoute {
for method := range mr {
mr[method].BindForm(DeepCopy(dest))
}
return mr
}
func (mr UrlRoute) BindJson(dest interface{}) UrlRoute {
for method := range mr {
mr[method].BindJson(DeepCopy(dest))
}
return mr
}
func (mr UrlRoute) BindXml(dest interface{}) UrlRoute {
for method := range mr {
mr[method].BindXml(DeepCopy(dest))
}
return mr
}
func (mr UrlRoute) BindYaml(dest interface{}) UrlRoute {
for method := range mr {
mr[method].BindYaml(DeepCopy(dest))
}
return mr
}
func (mr UrlRoute) AddPageKeys(pagekeys ...string) UrlRoute {
for _, route := range mr {
route.AddPageKeys(pagekeys...)
}
return mr
}
func (mr UrlRoute) DelHeader(key string) UrlRoute {
for _, route := range mr {
route.DelHeader(key)
}
return mr
}
// get route by method. if not found will return nil
func (mr UrlRoute) GetRoute(method string) *route {
if _, ok := mr[method]; ok {
return mr[method]
}
return nil
}
func (mr UrlRoute) DelModule(handles ...func(http.ResponseWriter, *http.Request) bool) UrlRoute {
for _, route := range mr {
route.DelModule(handles...)
}
return mr
}
func (mr UrlRoute) DelPageKeys(pagekeys ...string) UrlRoute {
for _, route := range mr {
route.DelPageKeys(pagekeys...)
}
return mr
}