X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/1924b28c8f715bc08752fb219d1fd8145ccfe84f..69a1f282ad2983d36bd8fb7c41c681e1baa5dfa1:/apps/workbench/app/controllers/collections_controller.rb diff --git a/apps/workbench/app/controllers/collections_controller.rb b/apps/workbench/app/controllers/collections_controller.rb index 7a8888e1d2..3b4943f588 100644 --- a/apps/workbench/app/controllers/collections_controller.rb +++ b/apps/workbench/app/controllers/collections_controller.rb @@ -93,8 +93,7 @@ class CollectionsController < ApplicationController def show_file_links Thread.current[:reader_tokens] = [params[:reader_token]] find_object_by_uuid - show - render 'show' + render layout: false end def show_file @@ -208,20 +207,18 @@ class CollectionsController < ApplicationController end def each return unless @opts[:uuid] && @opts[:file] - env = Hash[ENV]. - merge({ - 'ARVADOS_API_HOST' => - arvados_api_client.arvados_v1_base. - sub(/\/arvados\/v1/, ''). - sub(/^https?:\/\//, ''), - 'ARVADOS_API_TOKEN' => - @opts[:arvados_api_token], - 'ARVADOS_API_HOST_INSECURE' => - Rails.configuration.arvados_insecure_https ? 'true' : 'false' - }) + + env = Hash[ENV].dup + + require 'uri' + u = URI.parse(arvados_api_client.arvados_v1_base) + env['ARVADOS_API_HOST'] = "#{u.host}:#{u.port}" + env['ARVADOS_API_TOKEN'] = @opts[:arvados_api_token] + env['ARVADOS_API_HOST_INSECURE'] = "true" if Rails.configuration.arvados_insecure_https + IO.popen([env, 'arv-get', "#{@opts[:uuid]}/#{@opts[:file]}"], 'rb') do |io| - while buf = io.read(2**20) + while buf = io.read(2**16) yield buf end end