BunRouter用于 Go 的快速灵活的 HTTP 路由器
BunRouter 是一个用于 Go 的极快的 HTTP 路由器,具有独特的功能组合:
- 中间件允许将 HTTP 处理程序中的常见操作提取到可重用的函数中。
- 错误处理允许通过处理中间件中的错误来进一步减小 HTTP 处理程序的大小。
- 路由优先 级为路由规则启用有意义的匹配优先级:首先是静态节点,然后是命名节点,最后是通配符节点。
- net/http 兼容 API,这意味着使用最少的 API,而无需构建试图做所有事情的巨大包装器:从提供静态文件到 XML 生成(例如,
gin.Context
或echo.Context
)。
package main import ( "html/template" "log" "net/http" "github.com/uptrace/bunrouter" "github.com/uptrace/bunrouter/extra/reqlog" ) func main() { router := bunrouter.New( bunrouter.WithMiddleware(reqlog.NewMiddleware()), ) router.GET("/", indexHandler) router.WithGroup("/api", func(g *bunrouter.Group) { g.GET("/users/:id", debugHandler) g.GET("/users/current", debugHandler) g.GET("/users/*path", debugHandler) }) log.Println("listening on http://localhost:9999") log.Println(http.ListenAndServe(":9999", router)) } func indexHandler(w http.ResponseWriter, req bunrouter.Request) error { return indexTemplate().Execute(w, nil) } func debugHandler(w http.ResponseWriter, req bunrouter.Request) error { return bunrouter.JSON(w, bunrouter.H{ "route": req.Route(), "params": req.Params().Map(), }) } var indexTmpl = ` <html> <h1>Welcome</h1> <ul> <li><a href="/api/users/123">/api/users/123</a></li> <li><a href="/api/users/current">/api/users/current</a></li> <li><a href="/api/users/foo/bar">/api/users/foo/bar</a></li> </ul> </html> ` func indexTemplate() *template.Template { return template.Must(template.New("index").Parse(indexTmpl)) }
评论
moa-router一个快速的 HTTP 路由器
一个快速的HTTP路由器,在内部使用一个高性能的基数树(RadixTree )(又名紧凑前缀树(PrefixTree)),支持路由参数,通配符,它是独立的框架。性能$autocannon127.0.0
moa-router一个快速的 HTTP 路由器
0
Verbum用于 React 的灵活文本编辑器
Verbum是一个相当灵活的富文本编辑器,基于lexical-playground和lexical框架。值得注意的是,由于Lexical框架目前尚处于早期开发阶段,因此这个组件库也可能会经常变化。In
Verbum用于 React 的灵活文本编辑器
0
fasthttpGo 的快速 HTTP 包
fasthttp是Go的快速HTTP实现,当前在1M并发的生产环境使用非常成功,可以从单个服务器进行100Kqps的持续连接。HTTP服务器性能与net/http比较总而言之,fasthttp比net
fasthttpGo 的快速 HTTP 包
0
LiteHttp灵活而智能的HTTP框架
简介LiteHttp是一款简单、智能、灵活的HTTP框架库,它在请求和响应层面做到了全自动构建和解析,主要用于Android快速开发。借助LiteHttp你只需要一行代码即可完美实现http连接,它
LiteHttp灵活而智能的HTTP框架
0
mux功能完备的 Go 路由器
mux是对http.ServeMux的扩展,添加正则路由等功能。-路由参数;-支持正则表达式作为路由项匹配方式;-拦截正则表达式的行为;-自动生成OPTIONS请求处理方式;-自动生成HEAD请求处理
mux功能完备的 Go 路由器
0
Moon快速灵活的前端 UI 库
Moon一个极小,但速度极快的UI库。项目受 Vue启发,旨在打造成一个快速灵活的前端JavaScript库。特性非常小(7kbminified+gzip)速度极快API直观且易于学习指令强大支持插件
Moon快速灵活的前端 UI 库
0