// Code generated by microgen 0.9.1. DO NOT EDIT.

// DO NOT EDIT.
package transportgrpc

import (
	transport "git.perx.ru/perxis/perxis-go/pkg/references/transport"
	pb "git.perx.ru/perxis/perxis-go/proto/references"
	grpc "github.com/go-kit/kit/transport/grpc"
	context "golang.org/x/net/context"
)

type referencesServer struct {
	get grpc.Handler

	pb.UnsafeReferencesServer
}

func NewGRPCServer(endpoints *transport.EndpointsSet, opts ...grpc.ServerOption) pb.ReferencesServer {
	return &referencesServer{get: grpc.NewServer(
		endpoints.GetEndpoint,
		_Decode_Get_Request,
		_Encode_Get_Response,
		opts...,
	)}
}

func (S *referencesServer) Get(ctx context.Context, req *pb.GetRequest) (*pb.GetResponse, error) {
	_, resp, err := S.get.ServeGRPC(ctx, req)
	if err != nil {
		return nil, err
	}
	return resp.(*pb.GetResponse), nil
}