...
1 package server
2
3 import (
4 "context"
5
6 examples "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb"
7 "google.golang.org/grpc"
8 "google.golang.org/grpc/codes"
9 "google.golang.org/grpc/grpclog"
10 "google.golang.org/grpc/metadata"
11 "google.golang.org/grpc/status"
12 )
13
14
15
16 type echoServer struct{}
17
18 func newEchoServer() examples.EchoServiceServer {
19 return new(echoServer)
20 }
21
22 func (s *echoServer) Echo(ctx context.Context, msg *examples.SimpleMessage) (*examples.SimpleMessage, error) {
23 grpclog.Info(msg)
24 return msg, nil
25 }
26
27 func (s *echoServer) EchoBody(ctx context.Context, msg *examples.SimpleMessage) (*examples.SimpleMessage, error) {
28 grpclog.Info(msg)
29 grpc.SendHeader(ctx, metadata.New(map[string]string{
30 "foo": "foo1",
31 "bar": "bar1",
32 }))
33 grpc.SetTrailer(ctx, metadata.New(map[string]string{
34 "foo": "foo2",
35 "bar": "bar2",
36 }))
37 return msg, nil
38 }
39
40 func (s *echoServer) EchoDelete(ctx context.Context, msg *examples.SimpleMessage) (*examples.SimpleMessage, error) {
41 grpclog.Info(msg)
42 return msg, nil
43 }
44
45 func (s *echoServer) EchoPatch(ctx context.Context, msg *examples.DynamicMessageUpdate) (*examples.DynamicMessageUpdate, error) {
46 grpclog.Info(msg)
47 return msg, nil
48 }
49
50 func (s *echoServer) EchoUnauthorized(ctx context.Context, msg *examples.SimpleMessage) (*examples.SimpleMessage, error) {
51 grpclog.Info(msg)
52 return nil, status.Error(codes.Unauthenticated, "unauthorized err")
53 }
54
View as plain text