54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
|
|
package information
|
||
|
|
|
||
|
|
import (
|
||
|
|
"bytes"
|
||
|
|
"github.com/gorilla/mux"
|
||
|
|
"log"
|
||
|
|
"strings"
|
||
|
|
)
|
||
|
|
|
||
|
|
// Following prints all of the registered routes
|
||
|
|
func AboutRoute(route *mux.Route, _ *mux.Router, _ []*mux.Route) error {
|
||
|
|
pathTemplate, err := route.GetPathTemplate()
|
||
|
|
|
||
|
|
var buffer bytes.Buffer
|
||
|
|
|
||
|
|
if err == nil {
|
||
|
|
buffer.WriteString("\n\t")
|
||
|
|
buffer.WriteString("ROUTE: ")
|
||
|
|
buffer.WriteString(pathTemplate)
|
||
|
|
}
|
||
|
|
pathRegexp, err := route.GetPathRegexp()
|
||
|
|
if err == nil {
|
||
|
|
buffer.WriteString("\n\t")
|
||
|
|
buffer.WriteString("Path regexp: ")
|
||
|
|
buffer.WriteString(pathRegexp)
|
||
|
|
}
|
||
|
|
queriesTemplates, err := route.GetQueriesTemplates()
|
||
|
|
if err == nil {
|
||
|
|
buffer.WriteString("\n\t")
|
||
|
|
buffer.WriteString("Queries templates: ")
|
||
|
|
buffer.WriteString(strings.Join(queriesTemplates, ","))
|
||
|
|
}
|
||
|
|
queriesRegexps, err := route.GetQueriesRegexp()
|
||
|
|
if err == nil {
|
||
|
|
buffer.WriteString("\n\t")
|
||
|
|
buffer.WriteString("Queries regexps: ")
|
||
|
|
buffer.WriteString(strings.Join(queriesRegexps, ","))
|
||
|
|
}
|
||
|
|
methods, err := route.GetMethods()
|
||
|
|
if err == nil {
|
||
|
|
buffer.WriteString("\n\t")
|
||
|
|
buffer.WriteString("Methods: ")
|
||
|
|
buffer.WriteString(strings.Join(methods, ","))
|
||
|
|
}
|
||
|
|
|
||
|
|
if len := buffer.Len(); len != 0 {
|
||
|
|
|
||
|
|
log.Println(buffer.String())
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
return nil
|
||
|
|
}
|