mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-23 02:40:56 +00:00
Every import of the module changes, not only the seven packages that
moved out of sdk/pkg: Go requires the major version in the path from v2
on. Both happen in one pass —
go run github.com/go-admin-team/go-admin-core/tools/coreupgrade@v2.0.0 -w -v2 .
go mod tidy
— which is the command the release notes give, run here as a consumer
would run it. 210 imports across 95 files.
The compatibility shims this used are gone in v2, so the paths that
moved had to move: sdk/pkg/captcha, sdk/pkg/jwtauth and its user
package, sdk/pkg/response and sdk/pkg/casbin.
The count of unformatted files is unchanged at 34, none of them touched
by this: the tool reformats a file only if it was already gofmt clean,
so a migration cannot disappear into whitespace.
31 lines
724 B
Go
31 lines
724 B
Go
package middleware
|
|
|
|
import (
|
|
"github.com/alibaba/sentinel-golang/core/system"
|
|
sentinel "github.com/alibaba/sentinel-golang/pkg/adapters/gin"
|
|
"github.com/gin-gonic/gin"
|
|
|
|
log "github.com/go-admin-team/go-admin-core/v2/logger"
|
|
)
|
|
|
|
// Sentinel 限流
|
|
func Sentinel() gin.HandlerFunc {
|
|
if _, err := system.LoadRules([]*system.Rule{
|
|
{
|
|
MetricType: system.InboundQPS,
|
|
TriggerCount: 200,
|
|
Strategy: system.BBR,
|
|
},
|
|
}); err != nil {
|
|
log.Fatalf("Unexpected error: %+v", err)
|
|
}
|
|
return sentinel.SentinelMiddleware(
|
|
sentinel.WithBlockFallback(func(ctx *gin.Context) {
|
|
ctx.AbortWithStatusJSON(200, map[string]interface{}{
|
|
"msg": "too many request; the quota used up!",
|
|
"code": 500,
|
|
})
|
|
}),
|
|
)
|
|
}
|