package network import ( "context" log "github.com/sirupsen/logrus" "google.golang.org/protobuf/types/known/emptypb" "io" "parsing-service/internal/shared" pb "parsing-service/proto/taskProcessor" ) func (n *Network) RequestTasks(ctx context.Context, client pb.TaskProcessorClient) []shared.TaskResponse { var tasksList []shared.TaskResponse stream, err := client.RequestTask(ctx, &emptypb.Empty{}) if err != nil { log.WithField("err", err).Error("Error calling Request Tasks") return nil } for { response, err := stream.Recv() if err == io.EOF { break } if err != nil { log.WithField("err", err).Error("Error receiving response") return nil } tasksList = append(tasksList, shared.TaskResponse{ MerchUuid: response.MerchUuid, OriginSurugayaLink: response.OriginSurugayaLink, OriginMandarakeLink: response.OriginMandarakeLink, }) log.WithField("entry added", response.MerchUuid).Debug("gRPC Receive") } return tasksList }