本文整理汇总了Golang中github.com/gorilla/mux.Route.Schemes方法的典型用法代码示例。如果您正苦于以下问题:Golang Route.Schemes方法的具体用法?Golang Route.Schemes怎么用?Golang Route.Schemes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/gorilla/mux.Route
的用法示例。
在下文中一共展示了Route.Schemes方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: cloneRoute
// clondedRoute returns a clone of the named route from the router. Routes
// must be cloned to avoid modifying them during url generation.
func (ub *URLBuilder) cloneRoute(name string) *mux.Route {
route := new(mux.Route)
*route = *ub.router.GetRoute(name) // clone the route
return route.
Schemes(ub.root.Scheme).
Host(ub.root.Host)
}
示例2: SetRoute
func (m Match) SetRoute(r *mux.Route) *mux.Route {
if m.Prefix != "" {
r = r.PathPrefix(m.Prefix)
}
if m.Hosts != nil && len(m.Hosts) > 0 {
for _, host := range m.Hosts {
r = r.Host(host)
}
}
if m.Methods != nil && len(m.Methods) > 0 {
r = r.Methods(m.Methods...)
}
if m.Schemes != nil && len(m.Schemes) > 0 {
for _, scheme := range m.Schemes {
r = r.Schemes(scheme)
}
}
if m.Queries != nil && len(m.Queries) > 0 {
for _, m := range m.Queries {
for k, v := range m {
r = r.Queries(k, v)
}
}
}
if m.Headers != nil && len(m.Headers) > 0 {
for _, m := range m.Headers {
for k, v := range m {
r = r.Headers(k, v)
}
}
}
if m.Custom != nil && len(m.Custom) > 0 {
// lookup custom function by name
// func(r *http.Request, rm *RouteMatch) bool
}
return r
}