Improved test coverage
This commit is contained in:
parent
763686679f
commit
0323126f2c
5 changed files with 80 additions and 71 deletions
30
Router.go
30
Router.go
|
@ -1,7 +1,5 @@
|
|||
package router
|
||||
|
||||
import "os"
|
||||
|
||||
// Router is a high-performance router.
|
||||
type Router[T any] struct {
|
||||
get Tree[T]
|
||||
|
@ -46,23 +44,17 @@ func (router *Router[T]) LookupNoAlloc(method string, path string, addParameter
|
|||
return tree.LookupNoAlloc(path, addParameter)
|
||||
}
|
||||
|
||||
// Bind traverses all trees and calls the given function on every node.
|
||||
func (router *Router[T]) Bind(transform func(T) T) {
|
||||
router.get.Bind(transform)
|
||||
router.post.Bind(transform)
|
||||
router.delete.Bind(transform)
|
||||
router.put.Bind(transform)
|
||||
router.patch.Bind(transform)
|
||||
router.head.Bind(transform)
|
||||
router.connect.Bind(transform)
|
||||
router.trace.Bind(transform)
|
||||
router.options.Bind(transform)
|
||||
}
|
||||
|
||||
// Print shows a pretty print of all the routes.
|
||||
func (router *Router[T]) Print(method string) {
|
||||
tree := router.selectTree(method)
|
||||
tree.root.PrettyPrint(os.Stdout)
|
||||
// Map traverses all trees and calls the given function on every node.
|
||||
func (router *Router[T]) Map(transform func(T) T) {
|
||||
router.get.Map(transform)
|
||||
router.post.Map(transform)
|
||||
router.delete.Map(transform)
|
||||
router.put.Map(transform)
|
||||
router.patch.Map(transform)
|
||||
router.head.Map(transform)
|
||||
router.connect.Map(transform)
|
||||
router.trace.Map(transform)
|
||||
router.options.Map(transform)
|
||||
}
|
||||
|
||||
// selectTree returns the tree by the given HTTP method.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue