MCPcopy Create free account
hub / github.com/astercloud/aster / NewStack

Function NewStack

pkg/middleware/stack.go:17–28  ·  view source on GitHub ↗

NewStack 创建中间件栈

(middlewares []Middleware)

Source from the content-addressed store, hash-verified

15
16// NewStack 创建中间件栈
17func NewStack(middlewares []Middleware) *Stack {
18 // 按优先级排序(优先级数值越小越先执行)
19 sorted := make([]Middleware, len(middlewares))
20 copy(sorted, middlewares)
21 sort.Slice(sorted, func(i, j int) bool {
22 return sorted[i].Priority() < sorted[j].Priority()
23 })
24
25 return &Stack{
26 middlewares: sorted,
27 }
28}
29
30// Tools 收集所有中间件提供的工具
31func (s *Stack) Tools() []tools.Tool {

Callers 8

CreateFunction · 0.92
mainFunction · 0.92
mainFunction · 0.92
mainFunction · 0.92
mainFunction · 0.92
BenchmarkMiddlewareStackFunction · 0.85

Calls 2

copyFunction · 0.85
PriorityMethod · 0.65

Tested by 3

BenchmarkMiddlewareStackFunction · 0.68