summaryrefslogtreecommitdiff
path: root/lib/gitlab/ci/build/artifacts/adapters/raw_stream.rb
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2018-10-15 12:17:21 +0200
committerKamil Trzciński <ayufan@ayufan.eu>2018-10-16 13:51:49 +0200
commit15cd91c71a57a0b84af620181a64b26d5aec8237 (patch)
treeecc0f8ed9b7d508b442c111faa199e52fa382924 /lib/gitlab/ci/build/artifacts/adapters/raw_stream.rb
parent63cd88c668130d22f4a3d708894d0283a5941319 (diff)
downloadgitlab-ce-15cd91c71a57a0b84af620181a64b26d5aec8237.tar.gz
Make all legacy security reports to use raw formatuse-raw-file-format
- This introduces and uses `:raw` format for all legacy reports, the ones that do not have yet proper parsers on Backend - Raw format is needed to make Frontend be able to parse reports, without the need of decompressing, - This also extends fixtures to seed security reports with database, even though parser code is part of EE
Diffstat (limited to 'lib/gitlab/ci/build/artifacts/adapters/raw_stream.rb')
-rw-r--r--lib/gitlab/ci/build/artifacts/adapters/raw_stream.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/gitlab/ci/build/artifacts/adapters/raw_stream.rb b/lib/gitlab/ci/build/artifacts/adapters/raw_stream.rb
new file mode 100644
index 00000000000..fa6842cf36a
--- /dev/null
+++ b/lib/gitlab/ci/build/artifacts/adapters/raw_stream.rb
@@ -0,0 +1,27 @@
+module Gitlab
+ module Ci
+ module Build
+ module Artifacts
+ module Adapters
+ class RawStream
+ attr_reader :stream
+
+ InvalidStreamError = Class.new(StandardError)
+
+ def initialize(stream)
+ raise InvalidStreamError, "Stream is required" unless stream
+
+ @stream = stream
+ end
+
+ def each_blob
+ stream.seek(0)
+
+ yield(stream.read, 'raw') unless stream.eof?
+ end
+ end
+ end
+ end
+ end
+ end
+end