diff options
Diffstat (limited to 'internal/service/wiki/list_pages.go')
-rw-r--r-- | internal/service/wiki/list_pages.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/internal/service/wiki/list_pages.go b/internal/service/wiki/list_pages.go new file mode 100644 index 000000000..d740b26a4 --- /dev/null +++ b/internal/service/wiki/list_pages.go @@ -0,0 +1,35 @@ +package wiki + +import ( + "gitlab.com/gitlab-org/gitaly-proto/go/gitalypb" + "gitlab.com/gitlab-org/gitaly/internal/rubyserver" +) + +func (s *server) WikiListPages(request *gitalypb.WikiListPagesRequest, stream gitalypb.WikiService_WikiListPagesServer) error { + ctx := stream.Context() + + client, err := s.WikiServiceClient(ctx) + if err != nil { + return err + } + + clientCtx, err := rubyserver.SetHeaders(ctx, request.GetRepository()) + if err != nil { + return err + } + + rubyStream, err := client.WikiListPages(clientCtx, request) + if err != nil { + return err + } + + return rubyserver.Proxy(func() error { + resp, err := rubyStream.Recv() + if err != nil { + md := rubyStream.Trailer() + stream.SetTrailer(md) + return err + } + return stream.Send(resp) + }) +} |