Skip to content

Instantly share code, notes, and snippets.

@kelseyhightower
Created April 20, 2016 23:37
Show Gist options
  • Select an option

  • Save kelseyhightower/5ca3348d90db58e9ab9da0af35cac22c to your computer and use it in GitHub Desktop.

Select an option

Save kelseyhightower/5ca3348d90db58e9ab9da0af35cac22c to your computer and use it in GitHub Desktop.
ackage main
import (
"log"
"net"
pb "github.com/kelseyhightower/helloworld/helloworld"
"golang.org/x/net/context"
"google.golang.org/grpc"
)
type server struct{}
func (s *server) SayHello(ctx context.Context, request *pb.Request) (*pb.Response, error) {
return &pb.Response{Message: "Hello " + request.Name}, nil
}
func main() {
log.Println("Helloworld service starting...")
ln, err := net.Listen("tcp", ":10000")
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
interceptorOption := grpc.UnaryInterceptor(func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) {
log.Println(info.FullMethod)
return handler(ctx, req)
})
s := grpc.NewServer(interceptorOption)
pb.RegisterGreeterServer(s, &server{})
log.Println("Helloworld service started successfully.")
s.Serve(ln)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment