Files
protoc-gen-slc/tpl/server.go
2026-08-09 19:51:48 +08:00

70 lines
1.2 KiB
Go

package tpl
var NewFile = `
// Code generated by protoc-gen-slc. DO NOT EDIT.
package server
import (
{import}
"context"
gwRuntime "github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
)
type Server struct {
Grpc *grpc.Server
Ctx context.Context
Mux *gwRuntime.ServeMux
grpcConns map[string]*grpc.ClientConn // 连接池
}
func New(addr string) *Server {
srv := &Server{
Ctx: context.Background(),
Grpc: grpc.NewServer(),
grpcConns: make(map[string]*grpc.ClientConn),
}
// register service to grpc.Server
{register}
reflection.Register(srv.Grpc)
return srv
}
`
var Server = `
// Code generated by protoc-gen-slc. DO NOT EDIT.
package server
import (
"context"
{import}
)
type {service}Server struct {
pb.Unimplemented{service}Server
}
func New{service}Server() *{service}Server {
return &{service}Server{}
}
{method}
`
var Method = `
{comment}
func (s *{service}Server) {func}(ctx context.Context,in *pb.{input}) (*pb.{output},error) {
return {serviceLower}.{func}(ctx, in)
}
`
var Handler = `
if err := pb.Register{service}Handler(srv.Ctx, srv.Mux, conn); err != nil {
panic("Failed to register {service} handler: " + err.Error())
}
`