Prototype of Git blobs via workhorse

This commit is contained in:
Jacob Vosmaer 2016-01-15 18:12:36 +01:00
parent aeb5ef20cf
commit 67a6fee5b1

View file

@ -1,3 +1,5 @@
require 'base64'
# Controller for viewing a file's raw
class Projects::RawController < Projects::ApplicationController
include ExtractsPath
@ -15,7 +17,10 @@ class Projects::RawController < Projects::ApplicationController
if @blob.lfs_pointer?
send_lfs_object
else
stream_data
headers['Gitlab-Workhorse-Repo-Path'] = @repository.path_to_repo
headers['Gitlab-Workhorse-Send-Blob'] = Base64.urlsafe_encode64(@commit.id + ':' + @path)
headers['Content-Disposition'] = 'inline'
render nothing: true, content_type: get_blob_type
end
else
render_404
@ -34,16 +39,6 @@ class Projects::RawController < Projects::ApplicationController
end
end
def stream_data
type = get_blob_type
send_data(
@blob.data,
type: type,
disposition: 'inline'
)
end
def send_lfs_object
lfs_object = find_lfs_object