Skip to content

Commit a736cfe

Browse files
committedNov 27, 2024
MEDIUM: add findserver with only one conversion
1 parent 8dd339f commit a736cfe

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed
 

‎configuration/server.go

+26-9
Original file line numberDiff line numberDiff line change
@@ -874,17 +874,11 @@ func SerializeServer(s models.Server, opt *options.ConfigurationOptions) types.S
874874
}
875875

876876
func GetServerByName(name string, parentType string, parentName string, p parser.Parser) (*models.Server, int) {
877-
servers, err := ParseServers(parentType, parentName, p)
877+
server, i, err := FindServers(parentType, parentName, name, p)
878878
if err != nil {
879-
return nil, 0
879+
return nil, i
880880
}
881-
882-
for i, s := range servers {
883-
if s.Name == name {
884-
return s, i
885-
}
886-
}
887-
return nil, 0
881+
return server, i
888882
}
889883

890884
func sectionType(parentType string) parser.Section {
@@ -899,3 +893,26 @@ func sectionType(parentType string) parser.Section {
899893
}
900894
return sectionType
901895
}
896+
897+
func FindServers(parentType string, parentName string, serverName string, p parser.Parser) (*models.Server, int, error) {
898+
data, err := p.Get(sectionType(parentType), parentName, "server", false)
899+
if err != nil {
900+
if errors.Is(err, parser_errors.ErrFetch) {
901+
return nil, 0, nil
902+
}
903+
return nil, 0, err
904+
}
905+
906+
ondiskServers, ok := data.([]types.Server)
907+
if !ok {
908+
return nil, 0, misc.CreateTypeAssertError("server")
909+
}
910+
911+
for i, ondiskServer := range ondiskServers {
912+
if ondiskServer.Name == serverName {
913+
return ParseServer(ondiskServer), i, nil
914+
}
915+
}
916+
917+
return nil, 0, nil
918+
}

0 commit comments

Comments
 (0)
Please sign in to comment.