func handler()

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)
}