|
@@ -6,13 +6,14 @@ import (
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
"github.com/gogf/gf/v2/net/ghttp"
|
|
"github.com/gogf/gf/v2/os/glog"
|
|
"github.com/gogf/gf/v2/os/glog"
|
|
"go-gpt/internal/controller"
|
|
"go-gpt/internal/controller"
|
|
|
|
+ "go-gpt/internal/service"
|
|
"net/http"
|
|
"net/http"
|
|
"sync"
|
|
"sync"
|
|
"time"
|
|
"time"
|
|
)
|
|
)
|
|
|
|
|
|
type DefaultHandlerResponse struct {
|
|
type DefaultHandlerResponse struct {
|
|
- Code int `json:"code"`
|
|
|
|
|
|
+ Code int `json:"status"`
|
|
Message string `json:"message"`
|
|
Message string `json:"message"`
|
|
Data interface{} `json:"data"`
|
|
Data interface{} `json:"data"`
|
|
}
|
|
}
|
|
@@ -62,6 +63,17 @@ func MiddlewareHandlerResponse(r *ghttp.Request) {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+type middlewareService struct{}
|
|
|
|
+
|
|
|
|
+func NewTokenMiddleware() *middlewareService {
|
|
|
|
+ return &middlewareService{}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (s *middlewareService) Auth(r *ghttp.Request) {
|
|
|
|
+ service.Auth().MiddlewareFunc()(r)
|
|
|
|
+ r.Middleware.Next()
|
|
|
|
+}
|
|
|
|
+
|
|
type RateLimitMiddleware struct {
|
|
type RateLimitMiddleware struct {
|
|
sync.Mutex
|
|
sync.Mutex
|
|
Counter map[string]int64
|
|
Counter map[string]int64
|
|
@@ -107,13 +119,32 @@ func BindController(group *ghttp.RouterGroup) {
|
|
DomeRouter(group)
|
|
DomeRouter(group)
|
|
group.Group("/api/v1", func(group *ghttp.RouterGroup) {
|
|
group.Group("/api/v1", func(group *ghttp.RouterGroup) {
|
|
vv := NewRateLimitMiddleware()
|
|
vv := NewRateLimitMiddleware()
|
|
- group.Middleware(ghttp.MiddlewareHandlerResponse, MiddlewareCORS, vv.Middleware)
|
|
|
|
-
|
|
|
|
|
|
+ group.Middleware(MiddlewareCORS, vv.Middleware)
|
|
|
|
+ SessionRouter(group)
|
|
|
|
+ ChatRouter(group)
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
func DomeRouter(group *ghttp.RouterGroup) {
|
|
func DomeRouter(group *ghttp.RouterGroup) {
|
|
|
|
+ //tokenMi := NewTokenMiddleware()
|
|
|
|
+ //group.Middleware(tokenMi.Auth)
|
|
group.Bind(
|
|
group.Bind(
|
|
controller.Hello,
|
|
controller.Hello,
|
|
)
|
|
)
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+func ChatRouter(group *ghttp.RouterGroup) {
|
|
|
|
+ group.Middleware(MiddlewareHandlerResponse)
|
|
|
|
+ group.Bind(
|
|
|
|
+ controller.Chat,
|
|
|
|
+ )
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func SessionRouter(group *ghttp.RouterGroup) {
|
|
|
|
+ group.Middleware(MiddlewareHandlerResponse)
|
|
|
|
+ group.Group("/session", func(group *ghttp.RouterGroup) {
|
|
|
|
+ group.Bind(
|
|
|
|
+ controller.Session,
|
|
|
|
+ )
|
|
|
|
+ })
|
|
|
|
+}
|