22 lines
622 B
Go
22 lines
622 B
Go
package SimpleRouter
|
|
|
|
import (
|
|
"net/http"
|
|
"time"
|
|
)
|
|
|
|
type Middleware func(http.Handler) http.Handler
|
|
|
|
type RouteGroup struct {
|
|
mux *http.ServeMux // A ponter to the underlying ServeMux, this allows us to call ListenAndServe on any instance
|
|
basePath string // The current path we are defining handlers on / appending to
|
|
middlewares []Middleware // Stack of middlewares that will be applied on a handler in order
|
|
global_middlewares *[]Middleware
|
|
}
|
|
|
|
type ServerConfig struct {
|
|
ReadTimeout time.Duration
|
|
ReadHeaderTimeout time.Duration
|
|
WriteTimeout time.Duration
|
|
}
|