ProtoHandler refactor
This commit is contained in:
parent
40e0d99596
commit
150037aa57
1 changed files with 24 additions and 22 deletions
|
|
@ -46,35 +46,37 @@ func parsePackages(res *proto.SearchResponse, reg Lotus.Registry) []Package{
|
||||||
return packages
|
return packages
|
||||||
}
|
}
|
||||||
|
|
||||||
func fetchPackages(platform string, architecture []string, query string) []Package{
|
func fetchPackages(platform string, architecture []string, query string, registry Lotus.Registry) *proto.SearchResponse {
|
||||||
logger := Lotus.DetailedLogger("ProtoHandler", "receiveSearchResponse")
|
logger := Lotus.DetailedLogger("ProtoHandler", "fetchPackages")
|
||||||
|
|
||||||
regisitries := Lotus.GetRegistries()
|
conn := createConnection(registry.Address)
|
||||||
|
defer conn.Close()
|
||||||
var packages []Package
|
|
||||||
|
|
||||||
for _, reg := range regisitries{
|
|
||||||
conn := createConnection(reg.Address)
|
|
||||||
|
|
||||||
client, ctx, cancel := createRegistryClient(conn)
|
client, ctx, cancel := createRegistryClient(conn)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
res, connErr := client.Search(ctx, &proto.SearchRequest{Platform: platform, Architecture: architecture, Query: query})
|
res, connErr := client.Search(ctx, &proto.SearchRequest{Platform: platform, Architecture: architecture, Query: query})
|
||||||
if connErr != nil{
|
if connErr != nil{
|
||||||
logger.Fatal(connErr)
|
logger.Error(connErr)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, pkg := range parsePackages(res, reg){
|
return res
|
||||||
packages = append(packages, pkg)
|
|
||||||
}
|
|
||||||
|
|
||||||
cancel()
|
|
||||||
conn.Close()
|
|
||||||
}
|
|
||||||
|
|
||||||
return packages
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func SearchPackages(platform string, architecture []string, query string) []Package {
|
func SearchPackages(platform string, architecture []string, query string) []Package {
|
||||||
|
|
||||||
return fetchPackages(platform, architecture, query)
|
registries := Lotus.GetRegistries()
|
||||||
|
var packages []Package
|
||||||
|
|
||||||
|
for _, reg := range registries{
|
||||||
|
|
||||||
|
res := fetchPackages(platform, architecture, query, reg)
|
||||||
|
if res != nil{
|
||||||
|
for _, pkg := range parsePackages(res, reg){
|
||||||
|
packages = append(packages, pkg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return packages
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in a new issue