30 lines
		
	
	
		
			598 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			598 B
		
	
	
	
		
			Ruby
		
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| module API
 | |
|   class Geo < ::API::Base
 | |
|     feature_category :geo_replication
 | |
| 
 | |
|     helpers do
 | |
|       # Overridden in EE
 | |
|       def geo_proxy_response
 | |
|         {}
 | |
|       end
 | |
|     end
 | |
| 
 | |
|     resource :geo do
 | |
|       # 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
 |