package main

import (
	"context"
	"log"

	"github.com/go-kratos/examples/helloworld/helloworld"
	"github.com/go-kratos/kratos/v2/transport/grpc"
	"github.com/go-kratos/kratos/v2/transport/http"
)

func main() {
	// 客户端
	ctx := context.Background()
	reqHttp(ctx)
	reqGrpc(ctx)
}

func reqHttp(ctx context.Context) {
	cli, _ := http.NewClient(ctx, http.WithEndpoint("127.0.0.1:8000"))

	hc := helloworld.NewGreeterHTTPClient(cli)
	reply, err := hc.SayHello(ctx, &helloworld.HelloRequest{
		Name: "http",
	})
	log.Println(reply, err)
}

func reqGrpc(ctx context.Context) {
	conn, _ := grpc.DialInsecure(ctx, grpc.WithEndpoint("127.0.0.1:9000"))

	hc := helloworld.NewGreeterClient(conn)
	reply, err := hc.SayHello(ctx, &helloworld.HelloRequest{
		Name: "grpc",
	})
	log.Println(reply, err)
}