// Package handler 提供 HTTP 请求处理器,包括路由、静态文件服务和零拷贝传输。 // // 该文件包含路由器相关的核心逻辑,包括: // - HTTP 方法路由注册(GET、POST、PUT、DELETE、HEAD) // - 路由器创建和处理器获取 // // 主要用途: // // 用于管理 HTTP 请求的路由分发,将请求路径映射到对应的处理器。 // // 注意事项: // - 底层使用 fasthttp/router 实现 // - 所有路由方法均为并发安全 // // 作者:xfy package handler import ( "github.com/fasthttp/router" "github.com/valyala/fasthttp" ) // Router HTTP 请求路由器。 // // 封装 fasthttp/router,提供简洁的路由注册接口。 // 支持 GET、POST、PUT、DELETE、HEAD 等 HTTP 方法。 type Router struct { // router 底层 fasthttp 路由器实例 router *router.Router } // NewRouter 创建路由器。 // // 初始化并返回一个新的 Router 实例,底层使用 fasthttp/router 实现。 // // 返回值: // - *Router: 新创建的路由器实例 // // 使用示例: // // r := handler.NewRouter() // r.GET("/api", myHandler) func NewRouter() *Router { return &Router{ router: router.New(), } } // GET 注册 GET 路由。 // // 将指定路径映射到对应的处理器函数。 // // 参数: // - path: 路由路径,支持参数化路径如 /user/{id} // - handler: 请求处理函数 func (r *Router) GET(path string, handler fasthttp.RequestHandler) { r.router.GET(path, handler) } // POST 注册 POST 路由。 // // 将指定路径映射到对应的处理器函数。 // // 参数: // - path: 路由路径,支持参数化路径 // - handler: 请求处理函数 func (r *Router) POST(path string, handler fasthttp.RequestHandler) { r.router.POST(path, handler) } // PUT 注册 PUT 路由。 // // 将指定路径映射到对应的处理器函数。 // // 参数: // - path: 路由路径 // - handler: 请求处理函数 func (r *Router) PUT(path string, handler fasthttp.RequestHandler) { r.router.PUT(path, handler) } // DELETE 注册 DELETE 路由。 // // 将指定路径映射到对应的处理器函数。 // // 参数: // - path: 路由路径 // - handler: 请求处理函数 func (r *Router) DELETE(path string, handler fasthttp.RequestHandler) { r.router.DELETE(path, handler) } // HEAD 注册 HEAD 路由。 // // 将指定路径映射到对应的处理器函数。 // // 参数: // - path: 路由路径 // - handler: 请求处理函数 func (r *Router) HEAD(path string, handler fasthttp.RequestHandler) { r.router.HEAD(path, handler) } // Handler 返回路由处理器。 // // 获取可用于 fasthttp.Server 的请求处理器。 // 该处理器会根据注册的路由规则分发请求。 // // 返回值: // - fasthttp.RequestHandler: 请求处理器函数 // // 使用示例: // // server := &fasthttp.Server{ // Handler: r.Handler(), // } func (r *Router) Handler() fasthttp.RequestHandler { return r.router.Handler }