xfy f2352ab9cc docs(config,stream,logging,handler,proxy,cache,server,ssl,middleware): 为核心模块添加详细 GoDoc 文档注释
- config: 为 Config 和所有子配置结构添加完整文档,包含使用示例和注意事项
- stream: 为负载均衡器和服务器添加详细的参数、返回值和功能说明
- logging: 为日志格式化和输出函数添加文档,说明支持的变量替换
- handler: 为路由器、静态文件和 sendfile 处理器添加文档
- proxy: 为健康检查器和代理功能添加完整文档
- cache/server/ssl/middleware: 补充相关模块的文档注释
- config.example.yaml: 添加可信代理配置、加密套件示例,更新压缩级别说明

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-07 15:36:09 +08:00

120 lines
2.9 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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
}