Commit 67a6fee5 authored by Jacob Vosmaer's avatar Jacob Vosmaer

Prototype of Git blobs via workhorse

parent aeb5ef20
require 'base64'
# Controller for viewing a file's raw # Controller for viewing a file's raw
class Projects::RawController < Projects::ApplicationController class Projects::RawController < Projects::ApplicationController
include ExtractsPath include ExtractsPath
...@@ -15,7 +17,10 @@ class Projects::RawController < Projects::ApplicationController ...@@ -15,7 +17,10 @@ class Projects::RawController < Projects::ApplicationController
if @blob.lfs_pointer? if @blob.lfs_pointer?
send_lfs_object send_lfs_object
else 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 end
else else
render_404 render_404
...@@ -34,16 +39,6 @@ class Projects::RawController < Projects::ApplicationController ...@@ -34,16 +39,6 @@ class Projects::RawController < Projects::ApplicationController
end end
end end
def stream_data
type = get_blob_type
send_data(
@blob.data,
type: type,
disposition: 'inline'
)
end
def send_lfs_object def send_lfs_object
lfs_object = find_lfs_object lfs_object = find_lfs_object
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment