debian-mirror-gitlab/lib/api/geo.rb

38 lines
856 B
Ruby
Raw Normal View History

2021-09-30 23:02:18 +05:30
# frozen_string_literal: true
module API
class Geo < ::API::Base
feature_category :geo_replication
2022-07-16 23:28:13 +05:30
urgency :low
2021-09-30 23:02:18 +05:30
helpers do
# Overridden in EE
def geo_proxy_response
2022-08-13 15:12:31 +05:30
{ geo_enabled: false }
2021-09-30 23:02:18 +05:30
end
end
resource :geo do
2023-01-13 00:05:48 +05:30
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
2021-09-30 23:02:18 +05:30
# 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