package authz import ( "context" auth "github.com/envoyproxy/go-control-plane/envoy/service/auth/v3" "github.com/xlgmokha/x/pkg/log" "github.com/xlgmokha/x/pkg/x" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/pls" "google.golang.org/grpc" "google.golang.org/grpc/reflection" ) type Server struct { *grpc.Server } func New(ctx context.Context, options ...grpc.ServerOption) *Server { logger := log.From(ctx) server := grpc.NewServer(x.Prepend( options, grpc.UnaryInterceptor(pls.LogGRPC(logger)), grpc.StreamInterceptor(pls.LogGRPCStream(logger)), )...) auth.RegisterAuthorizationServer(server, &CheckService{}) reflection.Register(server) return &Server{ Server: server, } }