Cosmetic changes

This commit is contained in:
Manu Mtz-Almeida 2015-06-26 16:05:09 +02:00
parent 9e44079756
commit 9268afb15d
2 changed files with 46 additions and 44 deletions

34
gin.go
View File

@ -19,9 +19,24 @@ const Version = "v1.0rc2"
var default404Body = []byte("404 page not found") var default404Body = []byte("404 page not found")
var default405Body = []byte("405 method not allowed") var default405Body = []byte("405 method not allowed")
type HandlerFunc func(*Context)
type HandlersChain []HandlerFunc
func (c HandlersChain) Last() HandlerFunc {
length := len(c)
if length > 0 {
return c[length-1]
}
return nil
}
type ( type (
HandlerFunc func(*Context) RoutesInfo []RouteInfo
HandlersChain []HandlerFunc RouteInfo struct {
Method string
Path string
Handler string
}
// Represents the web framework, it wraps the blazing fast httprouter multiplexer and a list of global middlewares. // Represents the web framework, it wraps the blazing fast httprouter multiplexer and a list of global middlewares.
Engine struct { Engine struct {
@ -61,25 +76,10 @@ type (
HandleMethodNotAllowed bool HandleMethodNotAllowed bool
ForwardedByClientIP bool ForwardedByClientIP bool
} }
RoutesInfo []RouteInfo
RouteInfo struct {
Method string
Path string
Handler string
}
) )
var _ RoutesInterface = &Engine{} var _ RoutesInterface = &Engine{}
func (c HandlersChain) Last() HandlerFunc {
length := len(c)
if length > 0 {
return c[length-1]
}
return nil
}
// Returns a new blank Engine instance without any middleware attached. // Returns a new blank Engine instance without any middleware attached.
// The most basic configuration // The most basic configuration
func New() *Engine { func New() *Engine {

View File

@ -11,37 +11,39 @@ import (
"strings" "strings"
) )
type RoutesInterface interface { type (
routesInterface RoutesInterface interface {
Group(string, ...HandlerFunc) *RouterGroup routesInterface
} Group(string, ...HandlerFunc) *RouterGroup
}
type routesInterface interface { routesInterface interface {
Use(...HandlerFunc) routesInterface Use(...HandlerFunc) routesInterface
Handle(string, string, ...HandlerFunc) routesInterface Handle(string, string, ...HandlerFunc) routesInterface
Any(string, ...HandlerFunc) routesInterface Any(string, ...HandlerFunc) routesInterface
GET(string, ...HandlerFunc) routesInterface GET(string, ...HandlerFunc) routesInterface
POST(string, ...HandlerFunc) routesInterface POST(string, ...HandlerFunc) routesInterface
DELETE(string, ...HandlerFunc) routesInterface DELETE(string, ...HandlerFunc) routesInterface
PATCH(string, ...HandlerFunc) routesInterface PATCH(string, ...HandlerFunc) routesInterface
PUT(string, ...HandlerFunc) routesInterface PUT(string, ...HandlerFunc) routesInterface
OPTIONS(string, ...HandlerFunc) routesInterface OPTIONS(string, ...HandlerFunc) routesInterface
HEAD(string, ...HandlerFunc) routesInterface HEAD(string, ...HandlerFunc) routesInterface
StaticFile(string, string) routesInterface StaticFile(string, string) routesInterface
Static(string, string) routesInterface Static(string, string) routesInterface
StaticFS(string, http.FileSystem) routesInterface StaticFS(string, http.FileSystem) routesInterface
} }
// Used internally to configure router, a RouterGroup is associated with a prefix // Used internally to configure router, a RouterGroup is associated with a prefix
// and an array of handlers (middlewares) // and an array of handlers (middlewares)
type RouterGroup struct { RouterGroup struct {
Handlers HandlersChain Handlers HandlersChain
BasePath string BasePath string
engine *Engine engine *Engine
root bool root bool
} }
)
var _ RoutesInterface = &RouterGroup{} var _ RoutesInterface = &RouterGroup{}