diff options
author | Igor Drozdov <idrozdov@gitlab.com> | 2019-04-03 13:33:09 +0300 |
---|---|---|
committer | Igor Drozdov <idrozdov@gitlab.com> | 2019-04-03 13:46:49 +0300 |
commit | bd7914ba4fa24658a751fd245e35be9b07ed6d22 (patch) | |
tree | 861975d61ffe697df8ccc39242b766ca1409fa01 | |
parent | 82eb1451157c5f0d7f1889b7a5b8fe5b10740a61 (diff) |
Skip raw data for all pages requestid-skip-raw-data-for-all-pages
-rw-r--r-- | internal/service/wiki/get_all_pages_test.go | 4 | ||||
-rw-r--r-- | ruby/lib/gitaly_server/wiki_service.rb | 10 | ||||
-rw-r--r-- | ruby/lib/gitlab/git/wiki.rb | 6 | ||||
-rw-r--r-- | ruby/lib/gitlab/git/wiki_page.rb | 4 |
4 files changed, 13 insertions, 11 deletions
diff --git a/internal/service/wiki/get_all_pages_test.go b/internal/service/wiki/get_all_pages_test.go index 458f820d2..86d7ba6be 100644 --- a/internal/service/wiki/get_all_pages_test.go +++ b/internal/service/wiki/get_all_pages_test.go @@ -214,7 +214,7 @@ func createTestWikiPages(t *testing.T, client gitalypb.WikiServiceClient, wikiRe UrlPath: "Page-1", Path: []byte("Page-1.md"), Name: []byte(page1Name), - RawData: mockPageContent, + RawData: nil, Historical: false, } expectedPage2 := &gitalypb.WikiPage{ @@ -234,7 +234,7 @@ func createTestWikiPages(t *testing.T, client gitalypb.WikiServiceClient, wikiRe UrlPath: "Page-3", Path: []byte("Page-3.md"), Name: []byte(page3Name), - RawData: mockPageContent, + RawData: nil, Historical: false, } diff --git a/ruby/lib/gitaly_server/wiki_service.rb b/ruby/lib/gitaly_server/wiki_service.rb index 00ae83e98..1e1523e80 100644 --- a/ruby/lib/gitaly_server/wiki_service.rb +++ b/ruby/lib/gitaly_server/wiki_service.rb @@ -77,11 +77,13 @@ module GitalyServer ).each do |page| y.yield Gitaly::WikiGetAllPagesResponse.new(page: build_gitaly_wiki_page(page)) - io = StringIO.new(page.text_data) - while chunk = io.read(Gitlab.config.git.write_buffer_size) - gitaly_wiki_page = Gitaly::WikiPage.new(raw_data: chunk) + if page.text_data + io = StringIO.new(page.text_data) + while chunk = io.read(Gitlab.config.git.write_buffer_size) + gitaly_wiki_page = Gitaly::WikiPage.new(raw_data: chunk) - y.yield Gitaly::WikiGetAllPagesResponse.new(page: gitaly_wiki_page) + y.yield Gitaly::WikiGetAllPagesResponse.new(page: gitaly_wiki_page) + end end y.yield Gitaly::WikiGetAllPagesResponse.new(end_of_page: true) diff --git a/ruby/lib/gitlab/git/wiki.rb b/ruby/lib/gitlab/git/wiki.rb index bb3149292..396cafefb 100644 --- a/ruby/lib/gitlab/git/wiki.rb +++ b/ruby/lib/gitlab/git/wiki.rb @@ -85,8 +85,8 @@ module Gitlab private - def new_page(gollum_page) - Gitlab::Git::WikiPage.new(gollum_page, new_version(gollum_page, gollum_page.version.id)) + def new_page(gollum_page, with_raw_data: true) + Gitlab::Git::WikiPage.new(gollum_page, new_version(gollum_page, gollum_page.version.id), with_raw_data: with_raw_data) end def new_version(gollum_page, commit_id) @@ -195,7 +195,7 @@ module Gitlab gollum_wiki.pages( limit: limit, sort: sort, direction_desc: direction_desc ).map do |gollum_page| - new_page(gollum_page) + new_page(gollum_page, with_raw_data: false) end end end diff --git a/ruby/lib/gitlab/git/wiki_page.rb b/ruby/lib/gitlab/git/wiki_page.rb index 3fbdf0ffe..d206a4c66 100644 --- a/ruby/lib/gitlab/git/wiki_page.rb +++ b/ruby/lib/gitlab/git/wiki_page.rb @@ -3,14 +3,14 @@ module Gitlab class WikiPage attr_reader :url_path, :title, :format, :path, :version, :raw_data, :name, :historical - def initialize(gollum_page, version) + def initialize(gollum_page, version, with_raw_data: true) @gollum_page = gollum_page @url_path = gollum_page.url_path @title = gollum_page.title @format = gollum_page.format @path = gollum_page.path - @raw_data = gollum_page.raw_data + @raw_data = gollum_page.raw_data if with_raw_data @name = gollum_page.name @historical = gollum_page.historical? |