feat: 增加流量限制功能

This commit is contained in:
zhengkunwang223
2022-11-08 15:42:31 +08:00
committed by zhengkunwang223
parent daa2e12420
commit d5aee147f4
14 changed files with 383 additions and 99 deletions

View File

@@ -28,9 +28,9 @@ func (b *Block) FindDirectives(directiveName string) []IDirective {
}
func (b *Block) UpdateDirectives(directiveName string, directive Directive) {
directives := make([]IDirective, len(b.GetDirectives()))
directives := b.GetDirectives()
index := -1
for i, dir := range b.GetDirectives() {
for i, dir := range directives {
if dir.GetName() == directiveName {
index = i
break
@@ -44,6 +44,25 @@ func (b *Block) UpdateDirectives(directiveName string, directive Directive) {
b.Directives = directives
}
func (b *Block) UpdateDirectiveBySecondKey(name string, key string, directive Directive) {
directives := b.GetDirectives()
index := -1
for i, dir := range directives {
if dir.GetName() == name && dir.GetParameters()[0] == key {
index = i
break
}
}
if index > -1 {
directives[index] = &directive
} else {
directives = append(directives, &directive)
}
b.Directives = directives
}
func (b *Block) AddDirectives(directive Directive) {
directives := append(b.GetDirectives(), &directive)
b.Directives = directives