(directiveName string)
| 90 | } |
| 91 | |
| 92 | func (s *Server) FindDirectives(directiveName string) []IDirective { |
| 93 | directives := make([]IDirective, 0) |
| 94 | for _, directive := range s.Directives { |
| 95 | if directive.GetName() == directiveName { |
| 96 | directives = append(directives, directive) |
| 97 | } |
| 98 | if directive.GetBlock() != nil { |
| 99 | directives = append(directives, directive.GetBlock().FindDirectives(directiveName)...) |
| 100 | } |
| 101 | } |
| 102 | if directiveName == "listen" { |
| 103 | for _, listen := range s.Listens { |
| 104 | params := []string{listen.Bind} |
| 105 | params = append(params, listen.Parameters...) |
| 106 | if listen.DefaultServer != "" { |
| 107 | params = append(params, DefaultServer) |
| 108 | } |
| 109 | directives = append(directives, &Directive{ |
| 110 | Name: "listen", |
| 111 | Parameters: params, |
| 112 | }) |
| 113 | } |
| 114 | } |
| 115 | return directives |
| 116 | } |
| 117 | |
| 118 | func (s *Server) UpdateDirective(key string, params []string) { |
| 119 | if key == "" || len(params) == 0 { |
no test coverage detected