Passport/pkg/grpc/server.go
2024-05-04 01:47:44 +08:00

36 lines
740 B
Go

package grpc
import (
"net"
"git.solsynth.dev/hydrogen/passport/pkg/grpc/proto"
"github.com/spf13/viper"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
)
type Server struct {
proto.UnimplementedAuthServer
proto.UnimplementedNotifyServer
proto.UnimplementedFriendshipsServer
proto.UnimplementedRealmsServer
}
func StartGrpc() error {
listen, err := net.Listen("tcp", viper.GetString("grpc_bind"))
if err != nil {
return err
}
server := grpc.NewServer()
proto.RegisterAuthServer(server, &Server{})
proto.RegisterNotifyServer(server, &Server{})
proto.RegisterFriendshipsServer(server, &Server{})
proto.RegisterRealmsServer(server, &Server{})
reflection.Register(server)
return server.Serve(listen)
}