- arvados_api_token = Thread.current[:arvados_api_token]
- arvados_api_token = '' if arvados_api_token.nil?
- dataargs = ['--data-urlencode',
- "api_token=#{arvados_api_token}",
- '--header',
- 'Accept:application/json']
+ profile_checkpoint
+
+ @@client_mtx.synchronize do
+ if not @@api_client
+ @@api_client = HTTPClient.new
+ if Rails.configuration.arvados_insecure_https
+ @@api_client.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE
+ else
+ # Use system CA certificates
+ @@api_client.ssl_config.add_trust_ca('/etc/ssl/certs')
+ end
+ end
+ end
+
+ api_token = Thread.current[:arvados_api_token]
+ api_token ||= ''
+
+ resources_kind = class_kind(resources_kind).pluralize if resources_kind.is_a? Class
+ url = "#{self.arvados_v1_base}/#{resources_kind}#{action}"
+
+ # Clean up /arvados/v1/../../discovery/v1 to /discovery/v1
+ url.sub! '/arvados/v1/../../', '/'
+
+ query = {"api_token" => api_token}