github.com/cosmos/cosmos-sdk@v0.50.10/runtime/services/reflection.go (about) 1 package services 2 3 import ( 4 "context" 5 6 "github.com/cosmos/gogoproto/proto" 7 "google.golang.org/protobuf/types/descriptorpb" 8 9 reflectionv1 "cosmossdk.io/api/cosmos/reflection/v1" 10 ) 11 12 // ReflectionService implements the cosmos.reflection.v1 service. 13 type ReflectionService struct { 14 reflectionv1.UnimplementedReflectionServiceServer 15 files *descriptorpb.FileDescriptorSet 16 } 17 18 func NewReflectionService() (*ReflectionService, error) { 19 fds, err := proto.MergedGlobalFileDescriptors() 20 if err != nil { 21 return nil, err 22 } 23 24 return &ReflectionService{files: fds}, nil 25 } 26 27 func (r ReflectionService) FileDescriptors(_ context.Context, _ *reflectionv1.FileDescriptorsRequest) (*reflectionv1.FileDescriptorsResponse, error) { 28 return &reflectionv1.FileDescriptorsResponse{ 29 Files: r.files.File, 30 }, nil 31 } 32 33 var _ reflectionv1.ReflectionServiceServer = &ReflectionService{}