Add message to 404 Handler, add logging messages.

This commit is contained in:
2020-09-07 16:06:58 -07:00
parent 7baa7dec49
commit 717a1d9130
2 changed files with 22 additions and 6 deletions

View File

@ -2,6 +2,7 @@ package router
import (
"errors"
"fmt"
"net/http"
"strings"
)
@ -41,6 +42,7 @@ type Router struct {
var NotFoundHandler http.Handler = http.HandlerFunc(
func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(404)
w.Write([]byte("Not Found."))
})
// AddRoute registers a new handler function to a path and http.HandlerFunc. If a path and
@ -79,9 +81,19 @@ func (r *Router) AddRoute(method string, path string, callback http.HandlerFunc)
r.routes = append(r.routes, route{method, path, callback})
}
checkLookup(r.lookup)
return
}
func checkLookup(curr *segment) {
fmt.Printf("%p { path: %s, methods: %v, children: %v}\n", curr, curr.path, curr.methods, curr.children)
for _, v := range curr.children {
checkLookup(v)
}
}
// Handler returns the handler to use for the given request,
// consulting r.Method, r.URL.Path. It always returns
// a non-nil handler.
@ -97,6 +109,8 @@ func (r *Router) Handler(req *http.Request) (h http.Handler, pattern string) {
root := r.lookup
curr := root
fmt.Print("The route handler has been called.")
segments := strings.Split(path, "/")
keys := setupKeys(segments)
@ -161,6 +175,8 @@ func (r *Router) Get(path string, callback http.HandlerFunc) {
// In the case of this router, all it needs to do is lookup the Handler that has been saved at a given
// path and then call its ServeHTTP.
func (r Router) ServeHTTP(w http.ResponseWriter, req *http.Request) {
fmt.Print("Router's ServeHTTP method has been called.")
handler, _ := r.Handler(req)
handler.ServeHTTP(w, req)