GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

grpcserver.*server.Delete   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 10
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 9
nop 2
dl 0
loc 10
rs 9.95
c 0
b 0
f 0
1
package grpcserver
2
3
import (
4
	"context"
5
	"errors"
6
	"github.com/arazmj/gerdu/cache"
7
	"github.com/arazmj/gerdu/proto"
8
	log "github.com/sirupsen/logrus"
9
	grpc "google.golang.org/grpc"
10
	"google.golang.org/grpc/credentials"
11
	"net"
12
)
13
14
type server struct {
15
	proto.UnimplementedGerduServer
16
	gerdu cache.UnImplementedCache
17
}
18
19
func grpcServe(s *grpc.Server, host string, gerdu cache.UnImplementedCache) {
20
	lis, err := net.Listen("tcp", host)
21
	log.Printf("Gerdu started listening gRPC at %s\n", host)
22
	if err != nil {
23
		log.Fatalf("failed to listen: %v", err)
24
	}
25
	proto.RegisterGerduServer(s, &server{
26
		gerdu: gerdu,
27
	})
28
	if err := s.Serve(lis); err != nil {
29
		log.Fatalf("failed to serve: %v", err)
30
	}
31
}
32
33
//GrpcServe start gRPC server in non-secure mode
34
func GrpcServe(host string, gerdu cache.UnImplementedCache) {
35
	s := grpc.NewServer()
36
	grpcServe(s, host, gerdu)
37
}
38
39
//GrpcServeTLS start gRPC server secure
40
func GrpcServeTLS(host string, tlsCert, tlsKey string, gerdu cache.UnImplementedCache) {
41
	credentials, err := credentials.NewServerTLSFromFile(tlsCert, tlsKey)
42
	if err != nil {
43
		log.Fatalf("Failed to setup TLS for gRPC service: %v", err)
44
	}
45
46
	s := grpc.NewServer(grpc.Creds(credentials))
47
	grpcServe(s, host, gerdu)
48
}
49
50
func (s *server) Put(ctx context.Context, request *proto.PutRequest) (*proto.PutResponse, error) {
51
	value := string(request.Value)
52
	key := request.Key
53
	created := s.gerdu.Put(key, value)
54
	if !created {
55
		log.Printf("gRPC UPDATE Key: %s Value: %s\n", key, value)
56
	} else {
57
		log.Printf("gRPC INSERT Key: %s Value: %s\n", key, value)
58
	}
59
	return &proto.PutResponse{
60
		Created: created,
61
	}, nil
62
}
63
64
func (s *server) Get(ctx context.Context, request *proto.GetRequest) (*proto.GetResponse, error) {
65
	value, ok := s.gerdu.Get(request.Key)
66
	if ok {
67
		log.Printf("gRPC RETREIVED Key: %s Value: %s\n", request.Key, value)
68
		return &proto.GetResponse{
69
			Value: []byte(value),
70
		}, nil
71
	}
72
	log.Printf("gRPC MISSED Key: %s \n", request.Key)
73
	return nil, errors.New("key not found")
74
}
75
76
func (s *server) Delete(ctx context.Context, request *proto.DeleteRequest) (*proto.DeleteResponse, error) {
77
	ok := s.gerdu.Delete(request.Key)
78
	if ok {
79
		log.Printf("gRPC DELETE Key: %s\n", request.Key)
80
		return &proto.DeleteResponse{
81
			Deleted: true,
82
		}, nil
83
	}
84
	log.Printf("gRPC MISSED Key: %s \n", request.Key)
85
	return nil, errors.New("key not found")
86
}
87