mirror of
https://github.com/hanzozt/sdk-golang.git
synced 2026-10-30 14:46:37 +00:00
- Repo names: ziti-* → zt-* - Go modules: github.com/hanzozt/ziti → github.com/hanzozt/zt - Docker images: hanzozt/ziti-* → hanzozt/zt-* - C/Java/JS symbols: ziti_* → zt_* - File and directory names updated
57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"flag"
|
|
"github.com/hanzozt/sdk-golang/zt"
|
|
"google.golang.org/grpc"
|
|
pb "google.golang.org/grpc/examples/helloworld/helloworld"
|
|
"log"
|
|
)
|
|
|
|
var (
|
|
identity = flag.String("identity", "", "Ziti Identity file")
|
|
service = flag.String("service", "", "Ziti Service")
|
|
)
|
|
|
|
// server is used to implement helloworld.GreeterServer.
|
|
type server struct {
|
|
pb.UnimplementedGreeterServer
|
|
}
|
|
|
|
// SayHello implements helloworld.GreeterServer
|
|
func (s *server) SayHello(_ context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) {
|
|
log.Printf("Received: %v", in.GetName())
|
|
return &pb.HelloReply{Message: "Hello " + in.GetName()}, nil
|
|
}
|
|
|
|
func main() {
|
|
flag.Parse()
|
|
cfg, err := zt.NewConfigFromFile(*identity)
|
|
if err != nil {
|
|
log.Fatalf("failed to load zt identity{%v}: %v", identity, err)
|
|
}
|
|
|
|
ztx, err := zt.NewContext(cfg)
|
|
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
err = ztx.Authenticate()
|
|
if err != nil {
|
|
log.Fatalf("failed to authenticate: %v", err)
|
|
}
|
|
|
|
lis, err := ztx.Listen(*service)
|
|
if err != nil {
|
|
log.Fatalf("failed to listen: %v", err)
|
|
}
|
|
s := grpc.NewServer()
|
|
pb.RegisterGreeterServer(s, &server{})
|
|
log.Printf("server listening at %v", lis.Addr())
|
|
if err := s.Serve(lis); err != nil {
|
|
log.Fatalf("failed to serve: %v", err)
|
|
}
|
|
}
|