X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/34bb7db66cbbf50d7ec81d9ec568a86aaed521da..df1ebc0e3184afd3fb66414651fc1aec713928bf:/apps/workbench/app/models/arvados_api_client.rb diff --git a/apps/workbench/app/models/arvados_api_client.rb b/apps/workbench/app/models/arvados_api_client.rb index 6be15c6987..2abcf49e57 100644 --- a/apps/workbench/app/models/arvados_api_client.rb +++ b/apps/workbench/app/models/arvados_api_client.rb @@ -40,7 +40,7 @@ class ArvadosApiClient def initialize(request_url, api_response) @api_status = api_response.status_code @api_response_s = api_response.content - @api_response = Oj.load(@api_response_s, :symbol_keys => true) + @api_response = Oj.strict_load(@api_response_s, :symbol_keys => true) errors = @api_response[:errors] if errors.respond_to?(:join) errors = errors.join("\n\n") @@ -61,7 +61,7 @@ class ArvadosApiClient 404 => NotFoundException, } - @@profiling_enabled = Rails.configuration.profiling_enabled + @@profiling_enabled = Rails.configuration.Workbench.ProfilingEnabled @@discovery = nil # An API client object suitable for handling API requests on behalf @@ -101,7 +101,7 @@ class ArvadosApiClient .select { |ca_path| File.readable?(ca_path) } .each { |ca_path| @api_client.ssl_config.add_trust_ca(ca_path) } end - if Rails.configuration.api_response_compression + if Rails.configuration.Workbench.APIResponseCompression @api_client.transparent_gzip_decompression = true end end @@ -167,7 +167,7 @@ class ArvadosApiClient end begin - resp = Oj.load(msg.content, :symbol_keys => true) + resp = Oj.strict_load(msg.content, :symbol_keys => true) rescue Oj::ParseError resp = nil end @@ -235,17 +235,37 @@ class ArvadosApiClient end def arvados_login_url(params={}) - uri = URI.parse(Rails.configuration.Services.Controller.ExternalURL.to_s) if Rails.configuration.testing_override_login_url uri = URI(Rails.configuration.testing_override_login_url) + uri.path = "/login" + uri.query = URI.encode_www_form(params) + return uri.to_s + end + + case + when Rails.configuration.Login.PAM.Enable, + Rails.configuration.Login.LDAP.Enable, + Rails.configuration.Login.Test.Enable + + uri = URI.parse(Rails.configuration.Services.Workbench1.ExternalURL.to_s) + uri.path = "/users/welcome" + uri.query = URI.encode_www_form(params) + else + uri = URI.parse(Rails.configuration.Services.Controller.ExternalURL.to_s) + uri.path = "/login" + uri.query = URI.encode_www_form(params) end - uri.path = "/login" - uri.query = URI.encode_www_form(params) uri.to_s end def arvados_logout_url(params={}) - arvados_login_url(params).sub('/login','/logout') + uri = URI.parse(Rails.configuration.Services.Controller.ExternalURL.to_s) + if Rails.configuration.testing_override_login_url + uri = URI(Rails.configuration.testing_override_login_url) + end + uri.path = "/logout" + uri.query = URI.encode_www_form(params) + uri.to_s end def arvados_v1_base