diff options
Diffstat (limited to 'lib/bulk_imports/clients/http.rb')
-rw-r--r-- | lib/bulk_imports/clients/http.rb | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/lib/bulk_imports/clients/http.rb b/lib/bulk_imports/clients/http.rb index 4c36f226006..8129ff6151c 100644 --- a/lib/bulk_imports/clients/http.rb +++ b/lib/bulk_imports/clients/http.rb @@ -55,20 +55,11 @@ module BulkImports end def instance_version - strong_memoize(:instance_version) do - response = begin - with_error_handling do - Gitlab::HTTP.get(resource_url(:version), default_options) - end - rescue BulkImports::NetworkError - # `version` endpoint is not available, try `metadata` endpoint instead - with_error_handling do - Gitlab::HTTP.get(resource_url(:metadata), default_options) - end - end + Gitlab::VersionInfo.parse(metadata['version']) + end - Gitlab::VersionInfo.parse(response.parsed_response['version']) - end + def instance_enterprise + Gitlab::Utils.to_boolean(metadata['enterprise'], default: true) end def compatible_for_project_migration? @@ -87,6 +78,22 @@ module BulkImports end end + def metadata + response = begin + with_error_handling do + Gitlab::HTTP.get(resource_url(:version), default_options) + end + rescue BulkImports::NetworkError + # `version` endpoint is not available, try `metadata` endpoint instead + with_error_handling do + Gitlab::HTTP.get(resource_url(:metadata), default_options) + end + end + + response.parsed_response + end + strong_memoize_attr :metadata + # rubocop:disable GitlabSecurity/PublicSend def request(method, resource, options = {}, &block) validate_instance_version! |