Documentation
¶
Index ¶
- func PrintWelcomeBanner()
- type Config
- type Context
- func (c *Context) BindForm(obj interface{}) error
- func (c *Context) BindJSON(obj interface{}) error
- func (c *Context) DefaultFormValue(key, defaultValue string) string
- func (c *Context) DefaultQuery(key, defaultValue string) string
- func (c *Context) FormValue(key string) string
- func (c *Context) JSON(code int, obj interface{}) error
- func (c *Context) JSONP(callback string, obj interface{}) error
- func (c *Context) Param(key string) string
- func (c *Context) Query(key string) string
- func (c *Context) Render(name string, data interface{}) error
- func (c *Context) SendError(code int, message string) error
- func (c *Context) SendFile(filepath string, download bool) error
- func (c *Context) SendHTML(html string) error
- func (c *Context) SendString(msg string) error
- type FileRouteInfo
- type Group
- func (g *Group) Add(method, pattern string, handlers ...HandlerFunc)
- func (g *Group) All(pattern string, handlers ...HandlerFunc)
- func (g *Group) CONNECT(pattern string, handler HandlerFunc)
- func (g *Group) DELETE(pattern string, handler HandlerFunc)
- func (g *Group) GET(pattern string, handler HandlerFunc)
- func (g *Group) HEAD(pattern string, handler HandlerFunc)
- func (g *Group) OPTIONS(pattern string, handler HandlerFunc)
- func (g *Group) PATCH(pattern string, handler HandlerFunc)
- func (g *Group) POST(pattern string, handler HandlerFunc)
- func (g *Group) PUT(pattern string, handler HandlerFunc)
- func (g *Group) TRACE(pattern string, handler HandlerFunc)
- type HTMLTemplateEngine
- type HandlerFunc
- type KangGo
- func (k *KangGo) Add(method, path string, handlers ...HandlerFunc) *Router
- func (k *KangGo) All(path string, handlers ...HandlerFunc) *Router
- func (k *KangGo) CONNECT(pattern string, handler HandlerFunc)
- func (k *KangGo) DELETE(pattern string, handler HandlerFunc)
- func (k *KangGo) GET(pattern string, handler HandlerFunc)
- func (k *KangGo) HEAD(pattern string, handler HandlerFunc)
- func (k *KangGo) OPTIONS(pattern string, handler HandlerFunc)
- func (k *KangGo) PATCH(pattern string, handler HandlerFunc)
- func (k *KangGo) POST(pattern string, handler HandlerFunc)
- func (k *KangGo) PUT(pattern string, handler HandlerFunc)
- func (k *KangGo) Run(addr string) error
- func (k *KangGo) Static(prefix, root string, config ...StaticConfig) *KangGo
- func (k *KangGo) TRACE(pattern string, handler HandlerFunc)
- func (k *KangGo) Use(middleware core.MiddlewareFunc)
- type RadixNode
- type RouteInfo
- type Router
- func (r *Router) Handle(method, pattern string, handler HandlerFunc)
- func (r *Router) NewGroup(prefix string) *Group
- func (r *Router) PrintRoutes()
- func (r *Router) RegisterFileRoute(method, pattern, root string, handler HandlerFunc)
- func (r *Router) RegisterStaticRoute(method, pattern string, handler HandlerFunc)
- func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request)
- func (r *Router) Use(mw core.MiddlewareFunc)
- type StaticConfig
- type StaticRouteInfo
- type TemplateEngine
- type TextTemplateEngine
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
JSONEncoder func(v interface{}) ([]byte, error) // 自定义 JSON 编码器,默认使用标准库的 json.Marshal
JSONDecoder func(data []byte, v interface{}) error // 自定义 JSON 解码器,默认使用标准库的 json.Unmarshal
ShowBanner bool // 是否在启动时显示欢迎横幅,默认显示
PrintRoutes bool // 是否在启动时打印所有已注册的路由信息,默认打印
ServerHeader string // 设置服务器响应头的 Server 字段,默认为 "KangGo"
IdleTimeout time.Duration // 服务器空闲连接的超时时间
ReadTimeout time.Duration // 服务器读取请求的超时时间
WriteTimeout time.Duration // 服务器写入响应的超时时间
MaxRequestBodySize int // 最大请求体大小,默认为 4 MB
CaseSensitiveRouting bool // 路由是否区分大小写,默认区分
StrictRouting bool // 是否启用严格路由模式,默认不启用
UnescapePath bool // 是否对 URL 路径进行解码处理,默认不处理
}
Config 配置结构体,包含多个配置选项,用户可以根据需要自定义这些选项
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig 返回默认的配置 这是框架提供的默认配置,如果用户不提供自定义配置,则使用此配置
type Context ¶
type Context struct {
Writer http.ResponseWriter
Request *http.Request
Params map[string]string
TemplateEngine TemplateEngine
// contains filtered or unexported fields
}
Context 代表 HTTP 请求的上下文
func NewContext ¶
NewContext 创建一个新的 Context 实例
func (*Context) DefaultFormValue ¶
DefaultFormValue 获取 POST 表单数据并提供默认值
func (*Context) DefaultQuery ¶
DefaultQuery 获取 URL 查询参数并提供默认值
type FileRouteInfo ¶
type FileRouteInfo struct {
Method string // 新增字段,存储请求方法
Prefix string
Root string
Handler HandlerFunc
}
FileRouteInfo 存储文件路由的信息
type Group ¶
Group 结构定义了一个路由组
func (*Group) Add ¶
func (g *Group) Add(method, pattern string, handlers ...HandlerFunc)
Add 方法允许您指定一个方法作为值来注册一个路由
func (*Group) All ¶
func (g *Group) All(pattern string, handlers ...HandlerFunc)
All 方法将给定路径注册到所有 HTTP 方法
func (*Group) CONNECT ¶
func (g *Group) CONNECT(pattern string, handler HandlerFunc)
CONNECT 方法为路由组注册一个 CONNECT 请求处理函数
func (*Group) DELETE ¶
func (g *Group) DELETE(pattern string, handler HandlerFunc)
DELETE 方法为路由组注册一个 DELETE 请求处理函数
func (*Group) GET ¶
func (g *Group) GET(pattern string, handler HandlerFunc)
GET 方法为路由组注册一个 GET 请求处理函数
func (*Group) HEAD ¶
func (g *Group) HEAD(pattern string, handler HandlerFunc)
HEAD 方法为路由组注册一个 HEAD 请求处理函数
func (*Group) OPTIONS ¶
func (g *Group) OPTIONS(pattern string, handler HandlerFunc)
OPTIONS 方法为路由组注册一个 OPTIONS 请求处理函数
func (*Group) PATCH ¶
func (g *Group) PATCH(pattern string, handler HandlerFunc)
PATCH 方法为路由组注册一个 PATCH 请求处理函数
func (*Group) POST ¶
func (g *Group) POST(pattern string, handler HandlerFunc)
POST 方法为路由组注册一个 POST 请求处理函数
func (*Group) PUT ¶
func (g *Group) PUT(pattern string, handler HandlerFunc)
PUT 方法为路由组注册一个 PUT 请求处理函数
func (*Group) TRACE ¶
func (g *Group) TRACE(pattern string, handler HandlerFunc)
TRACE 方法为路由组注册一个 TRACE 请求处理函数
type HTMLTemplateEngine ¶ added in v1.0.4
type HTMLTemplateEngine struct {
// contains filtered or unexported fields
}
HTMLTemplateEngine 使用 Go 标准库 html/template 的模板引擎
func NewHTMLTemplateEngine ¶ added in v1.0.4
func NewHTMLTemplateEngine(dir, pattern string) *HTMLTemplateEngine
NewHTMLTemplateEngine 创建一个新的 HTMLTemplateEngine 实例
func (*HTMLTemplateEngine) Load ¶ added in v1.0.4
func (e *HTMLTemplateEngine) Load() error
Load 加载模板文件
func (*HTMLTemplateEngine) Render ¶ added in v1.0.4
func (e *HTMLTemplateEngine) Render(w http.ResponseWriter, name string, data interface{}) error
Render 渲染模板
type KangGo ¶
KangGo 核心结构
func (*KangGo) Add ¶
func (k *KangGo) Add(method, path string, handlers ...HandlerFunc) *Router
Add 方法允许您指定一个方法作为值来注册一个路由
func (*KangGo) All ¶
func (k *KangGo) All(path string, handlers ...HandlerFunc) *Router
All 方法将给定路径注册到所有 HTTP 方法
func (*KangGo) CONNECT ¶
func (k *KangGo) CONNECT(pattern string, handler HandlerFunc)
CONNECT 注册一个 CONNECT 请求路由
func (*KangGo) DELETE ¶
func (k *KangGo) DELETE(pattern string, handler HandlerFunc)
DELETE 注册一个 DELETE 请求路由
func (*KangGo) HEAD ¶
func (k *KangGo) HEAD(pattern string, handler HandlerFunc)
HEAD 注册一个 HEAD 请求路由
func (*KangGo) OPTIONS ¶
func (k *KangGo) OPTIONS(pattern string, handler HandlerFunc)
OPTIONS 注册一个 OPTIONS 请求路由
func (*KangGo) PATCH ¶
func (k *KangGo) PATCH(pattern string, handler HandlerFunc)
PATCH 注册一个 PATCH 请求路由
func (*KangGo) POST ¶
func (k *KangGo) POST(pattern string, handler HandlerFunc)
POST 注册一个 POST 请求路由
func (*KangGo) Static ¶
func (k *KangGo) Static(prefix, root string, config ...StaticConfig) *KangGo
Static 注册一个静态文件服务路由
func (*KangGo) TRACE ¶
func (k *KangGo) TRACE(pattern string, handler HandlerFunc)
TRACE 注册一个 TRACE 请求路由
type RadixNode ¶
type RadixNode struct {
// contains filtered or unexported fields
}
RadixNode 是 Radix Tree 的节点
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
Router 路由结构
func (*Router) Handle ¶
func (r *Router) Handle(method, pattern string, handler HandlerFunc)
Handle 注册路由
func (*Router) PrintRoutes ¶
func (r *Router) PrintRoutes()
PrintRoutes 打印所有注册的路由信息,区分目录文件路由、单文件路由、普通静态路由和动态路由
func (*Router) RegisterFileRoute ¶
func (r *Router) RegisterFileRoute(method, pattern, root string, handler HandlerFunc)
RegisterFileRoute 注册文件路由信息
func (*Router) RegisterStaticRoute ¶
func (r *Router) RegisterStaticRoute(method, pattern string, handler HandlerFunc)
RegisterStaticRoute 注册普通静态路由信息
type StaticConfig ¶
type StaticConfig struct {
Compress bool // 是否启用压缩,减少传输体积,默认值 false
ByteRange bool // 是否支持字节范围请求,默认值 false
Browse bool // 是否启用目录浏览,允许用户查看文件夹中的内容,默认值 false
Download bool // 是否启用文件下载,启用后所有文件将以附件形式下载,默认值 false
Index string // 用于提供目录的索引文件的名称,例如 "index.html",默认值为 "index.html"
CacheDuration time.Duration // 非活动文件处理程序的缓存持续时间,使用负值禁用此选项,默认值 10 秒
MaxAge int // 设置文件响应的 Cache-Control HTTP 头的值,MaxAge 以秒为单位,默认值 0
ModifyResponse func(http.ResponseWriter, *http.Request) // 自定义函数,允许修改响应,默认值为 nil
Next func(*Context) bool // 定义一个函数,当返回 true 时跳过此中间件,默认值为 nil
}
StaticConfig 配置结构体,定义静态文件服务的选项
func NewStaticConfig ¶
func NewStaticConfig() StaticConfig
NewStaticConfig 返回一个带有默认值的 StaticConfig 配置实例
type StaticRouteInfo ¶
type StaticRouteInfo struct {
Method string // 新增字段,存储请求方法
Prefix string
Handler HandlerFunc
}
StaticRouteInfo 存储普通静态路由的信息
type TemplateEngine ¶ added in v1.0.4
type TemplateEngine interface {
Load() error // 加载模板文件
Render(w http.ResponseWriter, name string, data interface{}) error // 渲染模板
}
TemplateEngine 定义模板引擎接口
type TextTemplateEngine ¶ added in v1.0.4
type TextTemplateEngine struct {
// contains filtered or unexported fields
}
TextTemplateEngine 使用 Go 标准库 text/template 的模板引擎
func NewTextTemplateEngine ¶ added in v1.0.4
func NewTextTemplateEngine(dir, pattern string) *TextTemplateEngine
NewTextTemplateEngine 创建一个新的 TextTemplateEngine 实例
func (*TextTemplateEngine) Load ¶ added in v1.0.4
func (e *TextTemplateEngine) Load() error
Load 加载模板文件
func (*TextTemplateEngine) Render ¶ added in v1.0.4
func (e *TextTemplateEngine) Render(w http.ResponseWriter, name string, data interface{}) error
Render 渲染模板