...
1 package mux_test
2
3 import (
4 "fmt"
5 "github.com/gorilla/mux"
6 )
7
8
9
10 func ExampleRoute_GetVarNames() {
11 r := mux.NewRouter()
12
13 route := r.Host("{domain}").
14 Path("/{group}/{item_id}").
15 Queries("some_data1", "{some_data1}").
16 Queries("some_data2_and_3", "{some_data2}.{some_data3}")
17
18 dataSource := func(key string) string {
19 return "my_value_for_" + key
20 }
21
22 varNames, _ := route.GetVarNames()
23
24 pairs := make([]string, 0, len(varNames)*2)
25
26 for _, varName := range varNames {
27 pairs = append(pairs, varName, dataSource(varName))
28 }
29
30 url, err := route.URL(pairs...)
31 if err != nil {
32 panic(err)
33 }
34 fmt.Println(url.String())
35 }
36
View as plain text