Module: WorkhorseHelper
- Included in:
- ApplicationController
- Defined in:
- app/helpers/workhorse_helper.rb
Overview
Helpers to send Git blobs, diffs, patches or archives through Workhorse. Workhorse will also serve files when using `send_file`.
Instance Method Summary collapse
-
#send_artifacts_entry(file, entry) ⇒ Object
Send an entry from artifacts through Workhorse.
-
#send_git_archive(repository, **kwargs) ⇒ Object
Archive a Git repository and send it through Workhorse.
-
#send_git_blob(repository, blob, inline: true) ⇒ Object
Send a Git blob through Workhorse.
-
#send_git_diff(repository, diff_refs) ⇒ Object
Send a Git diff through Workhorse.
-
#send_git_patch(repository, diff_refs) ⇒ Object
Send a Git patch through Workhorse.
- #set_workhorse_internal_api_content_type ⇒ Object
- #workhorse_set_content_type! ⇒ Object
Instance Method Details
#send_artifacts_entry(file, entry) ⇒ Object
Send an entry from artifacts through Workhorse
39 40 41 42 |
# File 'app/helpers/workhorse_helper.rb', line 39 def send_artifacts_entry(file, entry) headers.store(*Gitlab::Workhorse.send_artifacts_entry(file, entry)) head :ok end |
#send_git_archive(repository, **kwargs) ⇒ Object
Archive a Git repository and send it through Workhorse
33 34 35 36 |
# File 'app/helpers/workhorse_helper.rb', line 33 def send_git_archive(repository, **kwargs) headers.store(*Gitlab::Workhorse.send_git_archive(repository, **kwargs)) head :ok end |
#send_git_blob(repository, blob, inline: true) ⇒ Object
Send a Git blob through Workhorse
7 8 9 10 11 12 13 14 15 16 |
# File 'app/helpers/workhorse_helper.rb', line 7 def send_git_blob(repository, blob, inline: true) headers.store(*Gitlab::Workhorse.send_git_blob(repository, blob)) headers['Content-Disposition'] = inline ? 'inline' : 'attachment' # If enabled, this will override the values set above workhorse_set_content_type! render plain: "" end |
#send_git_diff(repository, diff_refs) ⇒ Object
Send a Git diff through Workhorse
19 20 21 22 23 |
# File 'app/helpers/workhorse_helper.rb', line 19 def send_git_diff(repository, diff_refs) headers.store(*Gitlab::Workhorse.send_git_diff(repository, diff_refs)) headers['Content-Disposition'] = 'inline' head :ok end |
#send_git_patch(repository, diff_refs) ⇒ Object
Send a Git patch through Workhorse
26 27 28 29 30 |
# File 'app/helpers/workhorse_helper.rb', line 26 def send_git_patch(repository, diff_refs) headers.store(*Gitlab::Workhorse.send_git_patch(repository, diff_refs)) headers['Content-Disposition'] = 'inline' head :ok end |
#set_workhorse_internal_api_content_type ⇒ Object
44 45 46 |
# File 'app/helpers/workhorse_helper.rb', line 44 def set_workhorse_internal_api_content_type headers['Content-Type'] = Gitlab::Workhorse::INTERNAL_API_CONTENT_TYPE end |
#workhorse_set_content_type! ⇒ Object
48 49 50 |
# File 'app/helpers/workhorse_helper.rb', line 48 def workhorse_set_content_type! headers[Gitlab::Workhorse::DETECT_HEADER] = "true" end |