Files
2026-07-12 13:47:34 +04:00

54 lines
1.2 KiB
Go
Executable File

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
}