diff options
Diffstat (limited to 'vendor/github.com/go-zoo/bone/bone.go')
-rw-r--r-- | vendor/github.com/go-zoo/bone/bone.go | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/vendor/github.com/go-zoo/bone/bone.go b/vendor/github.com/go-zoo/bone/bone.go deleted file mode 100644 index d00a0b083..000000000 --- a/vendor/github.com/go-zoo/bone/bone.go +++ /dev/null @@ -1,74 +0,0 @@ -/******************************** -*** Multiplexer for Go *** -*** Bone is under MIT license *** -*** Code by CodingFerret *** -*** github.com/go-zoo *** -*********************************/ - -package bone - -import ( - "net/http" - "strings" -) - -// Mux have routes and a notFound handler -// Route: all the registred route -// notFound: 404 handler, default http.NotFound if not provided -type Mux struct { - Routes map[string][]*Route - prefix string - notFound http.Handler - Serve func(rw http.ResponseWriter, req *http.Request) - CaseSensitive bool -} - -var ( - static = "static" - method = []string{"GET", "POST", "PUT", "DELETE", "HEAD", "PATCH", "OPTIONS"} -) - -type adapter func(*Mux) *Mux - -// New create a pointer to a Mux instance -func New(adapters ...adapter) *Mux { - m := &Mux{Routes: make(map[string][]*Route), Serve: nil, CaseSensitive: true} - for _, adap := range adapters { - adap(m) - } - if m.Serve == nil { - m.Serve = m.DefaultServe - } - return m -} - -// Prefix set a default prefix for all routes registred on the router -func (m *Mux) Prefix(p string) *Mux { - m.prefix = strings.TrimSuffix(p, "/") - return m -} - -// DefaultServe is the default http request handler -func (m *Mux) DefaultServe(rw http.ResponseWriter, req *http.Request) { - // Check if a route match - if !m.parse(rw, req) { - // Check if it's a static ressource - if !m.staticRoute(rw, req) { - // Check if the request path doesn't end with / - if !m.validate(rw, req) { - // Check if same route exists for another HTTP method - if !m.otherMethods(rw, req) { - m.HandleNotFound(rw, req) - } - } - } - } -} - -// ServeHTTP pass the request to the serve method of Mux -func (m *Mux) ServeHTTP(rw http.ResponseWriter, req *http.Request) { - if !m.CaseSensitive { - req.URL.Path = strings.ToLower(req.URL.Path) - } - m.Serve(rw, req) -} |