debian-mirror-gitlab/lib/api/geo.rb
2023-01-12 18:35:48 +00:00

37 lines
856 B
Ruby

# frozen_string_literal: true
module API
class Geo < ::API::Base
feature_category :geo_replication
urgency :low
helpers do
# Overridden in EE
def geo_proxy_response
{ geo_enabled: false }
end
end
resource :geo do
desc 'Returns a Geo proxy response' do
summary "Determine if a Geo site should proxy requests"
success code: 200
failure [{ code: 403, message: 'Forbidden' }]
tags %w[geo]
end
# Workhorse calls this to determine if it is a Geo site that should proxy
# requests. Workhorse doesn't know if it's in a FOSS/EE context.
get '/proxy' do
require_gitlab_workhorse!
status :ok
content_type Gitlab::Workhorse::INTERNAL_API_CONTENT_TYPE
geo_proxy_response
end
end
end
end
API::Geo.prepend_mod