Skip to content

Commit

Permalink
Version with seatmap and info message types (#24)
Browse files Browse the repository at this point in the history
Upgraded camino-messenger-protocol version; introduced SeatMap, SiteMapAvailability, CountryEntryRequirements; Partner plugin example with mocked data
  • Loading branch information
VjeraTurk authored Aug 16, 2024
1 parent 276ffca commit f812a86
Show file tree
Hide file tree
Showing 12 changed files with 462 additions and 684 deletions.
3 changes: 3 additions & 0 deletions camino-messenger-bot-supplier.yaml.example
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ supported_request_types:
- ValidationRequest
- PingRequest
- TransportSearchRequest
- SeatMapRequest
- SeatMapAvailabilityRequest
- CountryEntryRequirementsRequest

### C-Chain (EVM)

Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ services:
CMB_PARTNER_PLUGIN_PORT: "50051"
CMB_PARTNER_PLUGIN_UNENCRYPTED: "true"
CMB_RESPONSE_TIMEOUT: "10000"
CMB_SUPPORTED_REQUEST_TYPES: "ActivitySearchRequest,AccommodationSearchRequest,GetNetworkFeeRequest,GetPartnerConfigurationRequest,PingRequest,TransportSearchRequest,MintRequest,ValidationRequest"
CMB_SUPPORTED_REQUEST_TYPES: "ActivitySearchRequest,AccommodationSearchRequest,GetNetworkFeeRequest,GetPartnerConfigurationRequest,PingRequest,TransportSearchRequest,MintRequest,ValidationRequest,SeatMapRequest,SeatMapAvailabilityRequest,CountryEntryRequirementsRequest"
CMB_RPC_URL: "https://columbus.camino.network/ext/bc/C/rpc"
CMB_BOOKING_TOKEN_ABI_FILE: abi/BookingTokenV0.abi
CMB_SUPPLIER_NAME: SUPPLIER_NAME
Expand Down
297 changes: 295 additions & 2 deletions examples/rpc/partner-plugin/server.go

Large diffs are not rendered by default.

27 changes: 13 additions & 14 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ module github.com/chain4travel/camino-messenger-bot
go 1.20

require (
buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go v1.3.0-20240416134251-eea07d77749c.2
buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go v1.33.0-20240416134251-eea07d77749c.1
buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go v1.5.1-20240812155629-cf8583b47e72.1
buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go v1.34.2-20240812155629-cf8583b47e72.2
github.com/ava-labs/avalanchego v1.10.18
github.com/ethereum/go-ethereum v1.12.0
github.com/klauspost/compress v1.17.3
Expand All @@ -19,8 +19,8 @@ require (
go.opentelemetry.io/otel/trace v1.11.2
go.uber.org/mock v0.4.0
go.uber.org/zap v1.26.0
golang.org/x/sync v0.5.0
google.golang.org/grpc v1.59.0
golang.org/x/sync v0.7.0
google.golang.org/grpc v1.64.1
)

require (
Expand All @@ -35,7 +35,7 @@ require (
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-stack/stack v1.8.1 // indirect
github.com/google/renameio/v2 v2.0.0 // indirect
github.com/google/uuid v1.3.1 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/gorilla/websocket v1.5.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.15.2 // indirect
github.com/holiman/uint256 v1.2.2-0.20230321075855-87b91420868c // indirect
Expand All @@ -59,19 +59,18 @@ require (
go.mau.fi/util v0.3.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.2 // indirect
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
golang.org/x/crypto v0.18.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/crypto v0.24.0 // indirect
golang.org/x/text v0.16.0 // indirect
golang.org/x/time v0.3.0 // indirect
google.golang.org/genproto v0.0.0-20230913181813-007df8e322eb // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
maunium.net/go/maulogger/v2 v2.4.1 // indirect
)

require (
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
Expand All @@ -81,10 +80,10 @@ require (
github.com/subosito/gotenv v1.6.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3
golang.org/x/net v0.20.0 // indirect
golang.org/x/sys v0.16.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230920204549-e6e6cdab5c13 // indirect
google.golang.org/protobuf v1.33.0
golang.org/x/net v0.26.0 // indirect
golang.org/x/sys v0.21.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 // indirect
google.golang.org/protobuf v1.34.2
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
maunium.net/go/mautrix v0.15.1
Expand Down
687 changes: 28 additions & 659 deletions go.sum

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion internal/app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func NewApp(cfg *config.Config) (*App, error) {
defer logger.Sync() //nolint:errcheck

// TODO @evlekht use actual git tag/commit
app.logger.Info("version: 6.1.0")
app.logger.Info("version: 8.0.0")

return app, nil
}
Expand Down
2 changes: 1 addition & 1 deletion internal/messaging/response_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,7 @@ func createTokenURIforMintResponse(mintResponse *bookv1alpha.MintResponse) (stri
attributes := []Attribute{
{
TraitType: "Mint ID",
Value: mintResponse.GetMintId(),
Value: mintResponse.GetMintId().Value,
},
{
TraitType: "Reference",
Expand Down
47 changes: 47 additions & 0 deletions internal/messaging/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,10 @@ import (

"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/activity/v1alpha/activityv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/book/v1alpha/bookv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/info/v1alpha/infov1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/seat_map/v1alpha/seat_mapv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/transport/v1alpha/transportv1alphagrpc"

networkv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/network/v1alpha"
partnerv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/partner/v1alpha"
pingv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/ping/v1alpha"
Expand All @@ -34,6 +37,9 @@ var (
_ Service = (*partnerService)(nil)
_ Service = (*pingService)(nil)
_ Service = (*transportService)(nil)
_ Service = (*seatMapService)(nil)
_ Service = (*seatMapAvailabilityService)(nil)
_ Service = (*countryEntryRequirementsService)(nil)
)

type Service interface {
Expand Down Expand Up @@ -178,3 +184,44 @@ func (s transportService) Call(ctx context.Context, request *RequestContent, opt
}
return &responseContent, TransportSearchResponse, err
}

type seatMapService struct {
client *seat_mapv1alphagrpc.SeatMapServiceClient
}

func (s seatMapService) Call(ctx context.Context, request *RequestContent, opts ...grpc.CallOption) (*ResponseContent, MessageType, error) {
response, err := (*s.client).SeatMap(ctx, request.SeatMapRequest, opts...)
responseContent := ResponseContent{}
if err == nil {
responseContent.SeatMapResponse = response
}
return &responseContent, SeatMapResponse, err
}

type seatMapAvailabilityService struct {
client *seat_mapv1alphagrpc.SeatMapAvailabilityServiceClient
}

func (s seatMapAvailabilityService) Call(ctx context.Context, request *RequestContent, opts ...grpc.CallOption) (*ResponseContent, MessageType, error) {
response, err := (*s.client).SeatMapAvailability(ctx, request.SeatMapAvailabilityRequest, opts...)
responseContent := ResponseContent{}
if err == nil {
responseContent.SeatMapAvailabilityResponse = response
}

return &responseContent, SeatMapAvailabilityResponse, err
}

type countryEntryRequirementsService struct {
client *infov1alphagrpc.CountryEntryRequirementsServiceClient
}

func (s countryEntryRequirementsService) Call(ctx context.Context, request *RequestContent, opts ...grpc.CallOption) (*ResponseContent, MessageType, error) {
response, err := (*s.client).CountryEntryRequirements(ctx, request.CountryEntryRequirementsRequest, opts...)
ResponseContent := ResponseContent{}
if err == nil {
ResponseContent.CountryEntryRequirementsResponse = response
}

return &ResponseContent, CountryEntryRequirementsResponse, err
}
11 changes: 11 additions & 0 deletions internal/messaging/service_registry.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import (
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/accommodation/v1alpha/accommodationv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/activity/v1alpha/activityv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/book/v1alpha/bookv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/info/v1alpha/infov1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/seat_map/v1alpha/seat_mapv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/transport/v1alpha/transportv1alphagrpc"
"github.com/chain4travel/camino-messenger-bot/config"
"github.com/chain4travel/camino-messenger-bot/internal/rpc/client"
Expand Down Expand Up @@ -72,6 +74,15 @@ func (s *serviceRegistry) RegisterServices(requestTypes config.SupportedRequestT
case TransportSearchRequest:
c := transportv1alphagrpc.NewTransportSearchServiceClient(rpcClient.ClientConn)
service = transportService{client: &c}
case SeatMapRequest:
c := seat_mapv1alphagrpc.NewSeatMapServiceClient(rpcClient.ClientConn)
service = seatMapService{client: &c}
case SeatMapAvailabilityRequest:
c := seat_mapv1alphagrpc.NewSeatMapAvailabilityServiceClient(rpcClient.ClientConn)
service = seatMapAvailabilityService{client: &c}
case CountryEntryRequirementsRequest:
c := infov1alphagrpc.NewCountryEntryRequirementsServiceClient(rpcClient.ClientConn)
service = countryEntryRequirementsService{client: &c}
default:
s.logger.Infof("Skipping registration of unknown request type: %s", requestType)
continue
Expand Down
36 changes: 34 additions & 2 deletions internal/messaging/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ import (
accommodationv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/accommodation/v1alpha"
activityv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/activity/v1alpha"
bookv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/book/v1alpha"
infov1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/info/v1alpha"
networkv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/network/v1alpha"
partnerv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/partner/v1alpha"
pingv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/ping/v1alpha"
seat_mapv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/seat_map/v1alpha"
transportv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/transport/v1alpha"

"github.com/chain4travel/camino-messenger-bot/internal/metadata"
Expand All @@ -30,6 +32,9 @@ type RequestContent struct {
*bookv1alpha.ValidationRequest
*pingv1alpha.PingRequest
*transportv1alpha.TransportSearchRequest
*seat_mapv1alpha.SeatMapRequest
*seat_mapv1alpha.SeatMapAvailabilityRequest
*infov1alpha.CountryEntryRequirementsRequest
}

type ResponseContent struct {
Expand All @@ -44,6 +49,9 @@ type ResponseContent struct {
*bookv1alpha.ValidationResponse
*pingv1alpha.PingResponse
*transportv1alpha.TransportSearchResponse
*seat_mapv1alpha.SeatMapResponse
*seat_mapv1alpha.SeatMapAvailabilityResponse
*infov1alpha.CountryEntryRequirementsResponse
}

type MessageContent struct {
Expand Down Expand Up @@ -92,6 +100,12 @@ const (
PingResponse MessageType = "PingResponse"
TransportSearchRequest MessageType = "TransportSearchRequest"
TransportSearchResponse MessageType = "TransportSearchResponse"
SeatMapRequest MessageType = "SeatMapRequest"
SeatMapResponse MessageType = "SeatMapResponse"
SeatMapAvailabilityRequest MessageType = "SeatMapAvailabilityRequest"
SeatMapAvailabilityResponse MessageType = "SeatMapAvailabilityResponse"
CountryEntryRequirementsRequest MessageType = "CountryEntryRequirementsRequest"
CountryEntryRequirementsResponse MessageType = "CountryEntryRequirementsResponse"
)

func (mt MessageType) Category() MessageCategory {
Expand All @@ -104,7 +118,10 @@ func (mt MessageType) Category() MessageCategory {
MintRequest,
ValidationRequest,
PingRequest,
TransportSearchRequest:
TransportSearchRequest,
SeatMapRequest,
SeatMapAvailabilityRequest,
CountryEntryRequirementsRequest:
return Request
case ActivityProductListResponse,
ActivitySearchResponse,
Expand All @@ -116,7 +133,10 @@ func (mt MessageType) Category() MessageCategory {
MintResponse,
ValidationResponse,
PingResponse,
TransportSearchResponse:
TransportSearchResponse,
SeatMapResponse,
SeatMapAvailabilityResponse,
CountryEntryRequirementsResponse:
return Response
default:
return Unknown
Expand Down Expand Up @@ -169,6 +189,18 @@ func (m *Message) MarshalContent() ([]byte, error) {
return proto.Marshal(m.Content.TransportSearchRequest)
case TransportSearchResponse:
return proto.Marshal(m.Content.TransportSearchResponse)
case SeatMapRequest:
return proto.Marshal(m.Content.SeatMapRequest)
case SeatMapResponse:
return proto.Marshal(m.Content.SeatMapResponse)
case SeatMapAvailabilityRequest:
return proto.Marshal(m.Content.SeatMapAvailabilityRequest)
case SeatMapAvailabilityResponse:
return proto.Marshal(m.Content.SeatMapAvailabilityResponse)
case CountryEntryRequirementsRequest:
return proto.Marshal(m.Content.CountryEntryRequirementsRequest)
case CountryEntryRequirementsResponse:
return proto.Marshal(m.Content.CountryEntryRequirementsResponse)
default:
return nil, ErrUnknownMessageType
}
Expand Down
2 changes: 1 addition & 1 deletion internal/rpc/client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func (rc *RPCClient) Start() error {
opts = append(opts, grpc.WithTransportCredentials(tlsCreds))
}

cc, err := grpc.Dial(fmt.Sprintf("%s:%d", rc.cfg.Host, rc.cfg.Port), opts...)
cc, err := grpc.NewClient(fmt.Sprintf("%s:%d", rc.cfg.Host, rc.cfg.Port), opts...)
if err != nil {
return nil
}
Expand Down
30 changes: 27 additions & 3 deletions internal/rpc/server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,23 @@ import (

"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/activity/v1alpha/activityv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/book/v1alpha/bookv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/info/v1alpha/infov1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/seat_map/v1alpha/seat_mapv1alphagrpc"
bookv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/book/v1alpha"
seat_mapv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/seat_map/v1alpha"

"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/accommodation/v1alpha/accommodationv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/network/v1alpha/networkv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/partner/v1alpha/partnerv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/ping/v1alpha/pingv1alphagrpc"
"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/transport/v1alpha/transportv1alphagrpc"
accommodationv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/accommodation/v1alpha"
activityv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/activity/v1alpha"
infov1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/info/v1alpha"
networkv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/network/v1alpha"
partnerv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/partner/v1alpha"
pingv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/ping/v1alpha"
transportv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/transport/v1alpha"

"buf.build/gen/go/chain4travel/camino-messenger-protocol/grpc/go/cmp/services/accommodation/v1alpha/accommodationv1alphagrpc"
accommodationv1alpha "buf.build/gen/go/chain4travel/camino-messenger-protocol/protocolbuffers/go/cmp/services/accommodation/v1alpha"
"github.com/chain4travel/camino-messenger-bot/config"
"github.com/chain4travel/camino-messenger-bot/internal/messaging"
"github.com/chain4travel/camino-messenger-bot/internal/metadata"
Expand All @@ -46,6 +49,9 @@ var (
_ bookv1alphagrpc.ValidationServiceServer = (*server)(nil)
_ pingv1alphagrpc.PingServiceServer = (*server)(nil)
_ transportv1alphagrpc.TransportSearchServiceServer = (*server)(nil)
_ seat_mapv1alphagrpc.SeatMapServiceServer = (*server)(nil)
_ seat_mapv1alphagrpc.SeatMapAvailabilityServiceServer = (*server)(nil)
_ infov1alphagrpc.CountryEntryRequirementsServiceServer = (*server)(nil)
)

type Server interface {
Expand Down Expand Up @@ -95,6 +101,9 @@ func createGrpcServerAndRegisterServices(server *server, opts ...grpc.ServerOpti
bookv1alphagrpc.RegisterValidationServiceServer(grpcServer, server)
pingv1alphagrpc.RegisterPingServiceServer(grpcServer, server)
transportv1alphagrpc.RegisterTransportSearchServiceServer(grpcServer, server)
seat_mapv1alphagrpc.RegisterSeatMapServiceServer(grpcServer, server)
seat_mapv1alphagrpc.RegisterSeatMapAvailabilityServiceServer(grpcServer, server)
infov1alphagrpc.RegisterCountryEntryRequirementsServiceServer(grpcServer, server)
return grpcServer
}

Expand Down Expand Up @@ -166,6 +175,21 @@ func (s *server) TransportSearch(ctx context.Context, request *transportv1alpha.
return response.TransportSearchResponse, err
}

func (s *server) SeatMap(ctx context.Context, request *seat_mapv1alpha.SeatMapRequest) (*seat_mapv1alpha.SeatMapResponse, error) {
response, err := s.processExternalRequest(ctx, messaging.SeatMapRequest, &messaging.RequestContent{SeatMapRequest: request})
return response.SeatMapResponse, err
}

func (s *server) SeatMapAvailability(ctx context.Context, request *seat_mapv1alpha.SeatMapAvailabilityRequest) (*seat_mapv1alpha.SeatMapAvailabilityResponse, error) {
response, err := s.processExternalRequest(ctx, messaging.SeatMapAvailabilityRequest, &messaging.RequestContent{SeatMapAvailabilityRequest: request})
return response.SeatMapAvailabilityResponse, err
}

func (s *server) CountryEntryRequirements(ctx context.Context, request *infov1alpha.CountryEntryRequirementsRequest) (*infov1alpha.CountryEntryRequirementsResponse, error) {
response, err := s.processExternalRequest(ctx, messaging.CountryEntryRequirementsRequest, &messaging.RequestContent{CountryEntryRequirementsRequest: request})
return response.CountryEntryRequirementsResponse, err
}

func (s *server) processInternalRequest(ctx context.Context, requestType messaging.MessageType, request *messaging.RequestContent) (*messaging.ResponseContent, error) {
ctx, span := s.tracer.Start(ctx, "server.processInternalRequest", trace.WithSpanKind(trace.SpanKindServer))
defer span.End()
Expand Down

0 comments on commit f812a86

Please sign in to comment.