lolly/internal/handler/router.go
xfy ac9153f09d fix(proxy,stream,server): Phase 8 问题修复与功能完善
- WebSocket 代理集成:handleWebSocket 现调用 ProxyWebSocket 实现
- 删除 UDP Stream 冗余代码:移除 udpListener 类型及相关测试
- 热升级监听器继承:改用 net.Listen + Serve 模式支持监听器传递
- 代码格式修复:注释格式调整、字段对齐、文件末尾换行符

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 14:28:00 +08:00

68 lines
1.7 KiB
Go
Raw 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 创建路由器
func NewRouter() *Router {
return &Router{
router: router.New(),
}
}
// GET 注册 GET 路由
func (r *Router) GET(path string, handler fasthttp.RequestHandler) {
r.router.GET(path, handler)
}
// POST 注册 POST 路由
func (r *Router) POST(path string, handler fasthttp.RequestHandler) {
r.router.POST(path, handler)
}
// PUT 注册 PUT 路由
func (r *Router) PUT(path string, handler fasthttp.RequestHandler) {
r.router.PUT(path, handler)
}
// DELETE 注册 DELETE 路由
func (r *Router) DELETE(path string, handler fasthttp.RequestHandler) {
r.router.DELETE(path, handler)
}
// HEAD 注册 HEAD 路由
func (r *Router) HEAD(path string, handler fasthttp.RequestHandler) {
r.router.HEAD(path, handler)
}
// Handler 返回路由处理器
func (r *Router) Handler() fasthttp.RequestHandler {
return r.router.Handler
}