in mse-go-demo/grpc/a-server/main.go [24:52]
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Printf("requesting: %v\n", r.URL)
ctx := context.Background()
ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
defer cancel()
conn, err := grpc.DialContext(
ctx,
address,
grpc.WithInsecure(),
grpc.WithBlock(),
)
if err != nil {
log.Fatalf("did not connect: %v", err)
}
defer conn.Close()
bClient := b_api_pb.NewBServiceClient(conn)
bReply, err := bClient.BMethod(ctx, &b_api_pb.BRequest{})
if err != nil {
fmt.Printf("call b-service failed! %v\n", err)
log.Printf("call b-service failed! %v", err)
w.WriteHeader(500)
fmt.Fprint(w, err.Error())
return
}
content := generateMessage("A") + "->" + bReply.GetMessage()
fmt.Fprintln(w, content)
}