refactor(api): unify error handling and split upload/oauth god modules

Replace c.JSON(200, response.Err) and middleware gin.H bypasses with
response.Abort* helpers so errors flow through Gin Error chain and
ErrorHandlerMiddleware for OTel trace correlation.

Split oauth/sources.go into domain-focused files and decompose upload
into handler/filesrv/stats/task/cache/storage/util subpackages with a
root facade preserving existing import paths.
This commit is contained in:
ryan
2026-06-18 10:51:25 +08:00
parent f826807cf1
commit 9af84c8ed6
62 changed files with 2040 additions and 1696 deletions
+1 -1
View File
@@ -29,7 +29,7 @@ func RiskControlMiddleware() gin.HandlerFunc {
// 1. 限流背压检测(检测本地缓冲队列是否已满)
if IsBufferFull() {
c.AbortWithStatusJSON(http.StatusTooManyRequests, response.Err("系统繁忙,请稍后再试"))
response.AbortTooManyRequests(c, "系统繁忙,请稍后再试")
return
}
@@ -13,6 +13,7 @@ import (
"github.com/Rain-kl/Wavelet/internal/apps/oauth"
"github.com/Rain-kl/Wavelet/internal/config"
"github.com/Rain-kl/Wavelet/internal/model"
"github.com/Rain-kl/Wavelet/internal/testhelper"
"github.com/Rain-kl/Wavelet/internal/util"
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/assert"
@@ -25,8 +26,7 @@ func TestRiskControlMiddleware(t *testing.T) {
config.Config.ClickHouse.Enabled = false
defer func() { config.Config.ClickHouse.Enabled = false }()
r := gin.New()
r.Use(RiskControlMiddleware())
r := testhelper.NewTestGinEngine(RiskControlMiddleware())
r.GET("/test", func(c *gin.Context) {
c.String(http.StatusOK, "ok")
})
@@ -91,8 +91,7 @@ func TestRiskControlMiddleware(t *testing.T) {
logChan = nil
}()
r := gin.New()
r.Use(RiskControlMiddleware())
r := testhelper.NewTestGinEngine(RiskControlMiddleware())
r.GET("/test", func(c *gin.Context) {
c.String(http.StatusOK, "ok")
})
@@ -126,8 +125,7 @@ func TestRiskControlMiddleware(t *testing.T) {
logChan <- &UserAccessLog{}
}
r := gin.New()
r.Use(RiskControlMiddleware())
r := testhelper.NewTestGinEngine(RiskControlMiddleware())
r.GET("/test", func(c *gin.Context) {
c.String(http.StatusOK, "ok")
})