Documentation ¶
Index ¶
- type App
- func (app *App) ANY(url string, handler ...Handler)
- func (app *App) AppendReqAndResp(url, method string, handler []Handler)
- func (app *App) DELETE(url string, handler ...Handler)
- func (app *App) Find(url, method string) []Handler
- func (app *App) GET(url string, handler ...Handler)
- func (app *App) Group(prefix string, middleware ...Handler) *RouterGroup
- func (app *App) HEAD(url string, handler ...Handler)
- func (app *App) OPTIONS(url string, handler ...Handler)
- func (app *App) POST(url string, handler ...Handler)
- func (app *App) PUT(url string, handler ...Handler)
- type Context
- func (ctx *Context) Abort()
- func (ctx *Context) AddHeader(key, value string)
- func (ctx *Context) Data(code int, contentType string, data []byte)
- func (ctx *Context) FormValue(key string) string
- func (ctx *Context) HTML(code int, body string)
- func (ctx *Context) Headers(key string) string
- func (ctx *Context) JSON(code int, Body map[string]interface{})
- func (ctx *Context) LocalIP() string
- func (ctx *Context) Method() string
- func (ctx *Context) Next()
- func (ctx *Context) Path() string
- func (ctx *Context) PostForm() url.Values
- func (ctx *Context) Query(key string) string
- func (ctx *Context) QueryDefault(key, def string) string
- func (ctx *Context) Redirect(path string)
- func (ctx *Context) SetContentType(contentType string)
- func (ctx *Context) SetCookie(cookie *http.Cookie)
- func (ctx *Context) SetHandlers(handlers Handlers) *Context
- func (ctx *Context) SetHeader(key, value string)
- func (ctx *Context) SetStatusCode(code int)
- func (ctx *Context) SetUserValue(key string, value interface{})
- func (ctx *Context) User() interface{}
- func (ctx *Context) Write(code int, Header map[string]string, Body string)
- func (ctx *Context) WriteString(Body string)
- type Handler
- type Handlers
- type Path
- type RouterGroup
- func (g *RouterGroup) ANY(url string, handler ...Handler)
- func (g *RouterGroup) AppendReqAndResp(url, method string, handler []Handler)
- func (g *RouterGroup) DELETE(url string, handler ...Handler)
- func (g *RouterGroup) GET(url string, handler ...Handler)
- func (g *RouterGroup) Group(prefix string, middleware ...Handler) *RouterGroup
- func (g *RouterGroup) HEAD(url string, handler ...Handler)
- func (g *RouterGroup) OPTIONS(url string, handler ...Handler)
- func (g *RouterGroup) POST(url string, handler ...Handler)
- func (g *RouterGroup) PUT(url string, handler ...Handler)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct { Requests []Path Middlewares Handlers Prefix string // contains filtered or unexported fields }
App is the key struct of the package. App as a member of plugin entity contains the request and the corresponding handler. Prefix is the url prefix and MiddlewareList is for control flow.
func (*App) ANY ¶
ANY registers a route that matches all the HTTP methods. GET, POST, PUT, HEAD, OPTIONS, DELETE.
func (*App) AppendReqAndResp ¶
AppendReqAndResp stores the request info and handle into app. support the route parameter. The route parameter will be recognized as wildcard store into the RegUrl of Path struct. For example:
/user/:id => /user/(.*) /user/:id/info => /user/(.*?)/info
The RegUrl will be used to recognize the incoming path and find the handler.
func (*App) Group ¶
func (app *App) Group(prefix string, middleware ...Handler) *RouterGroup
Group add middlewares and prefix for App.
type Context ¶
type Context struct { Request *http.Request Response *http.Response UserValue map[string]interface{} // contains filtered or unexported fields }
Context is the simplify version of web framework context. But it is important which will be used in plugins to custom the request and response. And adapter will help to transform the Context to the web framework`s context. It has three attributes. Request and response are belongs to net/http package. UserValue is the custom key-value store of context.
func NewContext ¶
NewContext used in adapter which return a Context with request and slice of UserValue and a default Response.
func (*Context) JSON ¶
JSON serializes the given struct as JSON into the response body. It also sets the Content-Type as "application/json".
func (*Context) QueryDefault ¶
QueryDefault get the query parameter of url. If it is empty, return the default.
func (*Context) SetContentType ¶
SetContentType save the given content type header into the response header.
func (*Context) SetCookie ¶
SetCookie save the given cookie obj into the response Set-Cookie header.
func (*Context) SetHandlers ¶
SetHandlers set the handlers of Context.
func (*Context) SetStatusCode ¶
SetStatusCode save the given status code into the response.
func (*Context) SetUserValue ¶
SetUserValue set the value of user context.
func (*Context) WriteString ¶
WriteString save the given body string into the response.
type Handler ¶
type Handler func(ctx *Context)
Handler defines the handler used by the middleware as return value.
type Path ¶
Path is used in the matching of request and response. Url stores the raw register url. RegUrl contains the wildcard which on behalf of the route params.
type RouterGroup ¶
type RouterGroup struct { Middlewares Handlers Prefix string // contains filtered or unexported fields }
RouterGroup is a group of routes.
func (*RouterGroup) ANY ¶
func (g *RouterGroup) ANY(url string, handler ...Handler)
ANY registers a route that matches all the HTTP methods. GET, POST, PUT, HEAD, OPTIONS, DELETE.
func (*RouterGroup) AppendReqAndResp ¶
func (g *RouterGroup) AppendReqAndResp(url, method string, handler []Handler)
AppendReqAndResp stores the request info and handle into app. support the route parameter. The route parameter will be recognized as wildcard store into the RegUrl of Path struct. For example:
/user/:id => /user/(.*) /user/:id/info => /user/(.*?)/info
The RegUrl will be used to recognize the incoming path and find the handler.
func (*RouterGroup) DELETE ¶
func (g *RouterGroup) DELETE(url string, handler ...Handler)
DELETE is a shortcut for app.AppendReqAndResp(url, "delete", handler).
func (*RouterGroup) GET ¶
func (g *RouterGroup) GET(url string, handler ...Handler)
GET is a shortcut for app.AppendReqAndResp(url, "get", handler).
func (*RouterGroup) Group ¶
func (g *RouterGroup) Group(prefix string, middleware ...Handler) *RouterGroup
Group add middlewares and prefix for RouterGroup.
func (*RouterGroup) HEAD ¶
func (g *RouterGroup) HEAD(url string, handler ...Handler)
HEAD is a shortcut for app.AppendReqAndResp(url, "head", handler).
func (*RouterGroup) OPTIONS ¶
func (g *RouterGroup) OPTIONS(url string, handler ...Handler)
OPTIONS is a shortcut for app.AppendReqAndResp(url, "options", handler).
func (*RouterGroup) POST ¶
func (g *RouterGroup) POST(url string, handler ...Handler)
POST is a shortcut for app.AppendReqAndResp(url, "post", handler).
func (*RouterGroup) PUT ¶
func (g *RouterGroup) PUT(url string, handler ...Handler)
PUT is a shortcut for app.AppendReqAndResp(url, "put", handler).