Slim
type HandlerFunc
type HandlerFunc func(c Context) errorHTTP 请求处理函数签名。
type ErrorHandlerFunc
type ErrorHandlerFunc func(c Context, err error)错误处理函数签名。
type MiddlewareFunc
type MiddlewareFunc func(c Context, next HandlerFunc) error请求中间件函数签名。
type MiddlewareRegistrar
type MiddlewareRegistrar interface { // Use 注册中间件 Use(middleware ...MiddlewareFunc) // Middleware 返回注册的所有中间件 Middleware() []MiddlewareFunc}中间件注册接口。
type MiddlewareComposer
type MiddlewareComposer interface { // Compose 将注册的所有中间件合并成一个中间件 Compose() MiddlewareFunc}中间件合成器接口。
type MiddlewareConfigurator
type MiddlewareConfigurator interface { // ToMiddleware 将实例转换成中间件函数 ToMiddleware() MiddlewareFunc}中间件配置器接口。
type Renderer
type Renderer interface { Render(c Context, w io.Writer, name string, data any) error}Renderer 是包装 Render 函数的接口。
type Validator
type Validator interface { Validate(i any) error}Validator 是包装 Validate 函数的接口。
type Map
type Map map[string]any简化 map[string]any 类型,可以少些点字。
func New
func New() *Slim返回一个基本的 Slim 实例。
type Slim
type Slim struct { NewContextFunc func(pathParamAllocSize int) EditableContext // 自定义 `slim.Context` 构造函数 ErrorHandler ErrorHandlerFunc // 自定义错误处理函数 Filesystem fs.FS // 静态资源文件系统,默认值 `os.DirFS(".")`。 Binder Binder // 请求数据绑定接口 Validator Validator // 验证器接口 Renderer Renderer // 模板渲染器 JSONCodec Codec // JSON 编解码器 XMLCodec Codec // XML 编解码器 Server *http.Server TLSServer *http.Server Listener net.Listener TLSListener net.Listener StdLogger *log.Logger AutoTLSManager autocert.Manager DisableHTTP2 bool HideBanner bool HidePort bool ListenerNetwork string Debug bool // 是否开启调试模式 MultipartMemoryLimit int64 // 文件上传大小限制 PrettyIndent string // json/xml 格式化缩进 JSONPCallbacks []string // jsonp 回调函数,通过 New 创建则默认值为 []string{"jsonp", "callback"} IPExtractor IPExtractor}func (*Slim) NewContext
func (s *Slim) NewContext(w http.ResponseWriter, r *http.Request) Context不使用上下文池来创建一个上下文。
func (*Slim) NewRouter
func (s *Slim) NewRouter() Router创建一个路由器。
func (*Slim) Router
func (s *Slim) Router() Router返回默认路由器
func (*Slim) Routers
func (s *Slim) Routers() map[string]Router返回的 host => router 映射集合,不包括默认路由。
func (*Slim) RouterFor
func (s *Slim) RouterFor(host string) Router返回与指定 host 相关的路由器,如果未设置,返回值为 nil。
func (*Slim) ResetRouterCreator
func (s *Slim) ResetRouterCreator(creator func(s *Slim) Router)重置路由器创建函数。
Warning
该函数会立即重新创建默认路由器,并且清除所有的主机路由器。
func (*Slim) Use
func (s *Slim) Use(middleware ...MiddlewareFunc)将中间件注册到 Slim 实例上,实现了接口 MiddlewareRegistrar 的 Use 方法。
func (*Slim) Host
func (s *Slim) Host(name string, middleware ...MiddlewareFunc) Router通过提供主机名称和中间件函数创建路由器。
func (*Slim) Negotiator
func (s *Slim) Negotiator() *nego.Negotiator返回内容协商工具。
func (*Slim) SetNegotiator
func (s *Slim) SetNegotiator(negotiator *nego.Negotiator)设置自定义内容协商工具。
func (*Slim) AcquireContext
func (s *Slim) AcquireContext() Context自上下文缓存池中返回一个空闲的 slim.Context 实例, 在不需要的时候,必须通过调用 Slim#ReleaseContext 方法归还该上下文。
func (*Slim) ReleaseContext
func (s *Slim) ReleaseContext(c Context)归还通过 Mux.AcquireContext 获取的 mux.Context 实例到上下文缓存池中.
func (s *Slim) ServeHTTP
func (s *Slim) ServeHTTP(w http.ResponseWriter, r *http.Request)实现 http.Handler 接口。
func ErrorHandler
func ErrorHandler(c Context, err error)默认错误处理函数
func NotFoundHandler
func NotFoundHandler(_ Context) error默认 404 处理器
func MethodNotAllowedHandler
func MethodNotAllowedHandler(_ Context) error默认 405 处理器。