feat: server 包支持获取到 HTTP 服务器的 Gin 示例

This commit is contained in:
kercylan98 2023-11-06 20:26:37 +08:00
parent 85176f32f9
commit 6b2a753e67
1 changed files with 8 additions and 0 deletions

View File

@ -1,9 +1,12 @@
package server
import "github.com/gin-gonic/gin"
// NewHttpHandleWrapper 创建一个新的 http 处理程序包装器
// - 默认使用 server.HttpContext 作为上下文,如果需要依赖其作为新的上下文,可以通过 NewHttpContext 创建
func NewHttpHandleWrapper[Context any](srv *Server, packer ContextPacker[Context]) *Http[Context] {
return &Http[Context]{
gin: srv.ginServer,
HttpRouter: &HttpRouter[Context]{
srv: srv,
group: srv.ginServer,
@ -15,5 +18,10 @@ func NewHttpHandleWrapper[Context any](srv *Server, packer ContextPacker[Context
// Http 基于 gin.Engine 包装的 http 服务器
type Http[Context any] struct {
srv *Server
gin *gin.Engine
*HttpRouter[Context]
}
func (slf *Http[Context]) Gin() *gin.Engine {
return slf.gin
}