seefor.go
func (c4 *Seefor) ServeHTTP(w http.ResponseWriter, req *http.Request) {
	started := time.Now()
	c4.handleBeforeMiddlewares(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
		beforeEnd := time.Now()
		if root, exist := c4.roots[req.Method]; exist {
			handler, params, route := root.match(req.URL.Path)
			if handler != nil {
				if c4.timer != nil {
					after := time.Now()
					c4.handleAfterMiddlewares(handler, w, req, params)
					c4.timer.Get(route).Accumulate(started, beforeEnd, after, time.Now())
				} else {
					c4.handleAfterMiddlewares(handler, w, req, params)
				}
				return
			}
		}
		c4.Router.handleMissing(w, req)
	}), w, req)
}
func (c4 *Seefor) ServeHTTP(w http.ResponseWriter, req *http.Request) {
	started := time.Now()
	c4.handleBeforeMiddlewares(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
		beforeEnd := time.Now()
		if root, exist := c4.roots[req.Method]; exist {
			handler, params, route := root.match(req.URL.Path)
			if handler != nil {
				if c4.timer != nil {
					after := time.Now()
					c4.handleAfterMiddlewares(handler, w, req, params)
					c4.timer.Get(route).Accumulate(started, beforeEnd, after, time.Now())
				} else {
					c4.handleAfterMiddlewares(handler, w, req, params)
				}
				return
			}
		}
		c4.Router.handleMissing(w, req)
	}), w, req)
}
func ( c4 * Seefor ) ServeHTTP ( w http . ResponseWriter , req * http . Request ) { started := time . Now ( ) c4 . handleBeforeMiddlewares ( http . HandlerFunc ( func ( w http . ResponseWriter , req * http . Request ) { beforeEnd := time . Now ( ) if root , exist := c4 . roots [ req . Method ] ; exist { handler , params , route := root . match ( req . URL . Path ) if handler != nil { if c4 . timer != nil { after := time . Now ( ) c4 . handleAfterMiddlewares ( handler , w , req , params ) c4 . timer . Get ( route ) . Accumulate ( started , beforeEnd , after , time . Now ( ) ) } else { c4 . handleAfterMiddlewares ( handler , w , req , params ) } return } } c4 . Router . handleMissing ( w , req ) } ) , w , req ) }
// Implementing http handler interface.
// This is a override of Router.ServeHTTP for handling middlewares
Implementing http handler interface . This is a override of Router . ServeHTTP for handling middlewares