Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/projects/environments/prometheus_api_controller.rb')
-rw-r--r--app/controllers/projects/environments/prometheus_api_controller.rb46
1 files changed, 6 insertions, 40 deletions
diff --git a/app/controllers/projects/environments/prometheus_api_controller.rb b/app/controllers/projects/environments/prometheus_api_controller.rb
index 98fcc594d6e..f0bb5360f84 100644
--- a/app/controllers/projects/environments/prometheus_api_controller.rb
+++ b/app/controllers/projects/environments/prometheus_api_controller.rb
@@ -1,51 +1,17 @@
# frozen_string_literal: true
class Projects::Environments::PrometheusApiController < Projects::ApplicationController
- include RenderServiceResults
+ include Metrics::Dashboard::PrometheusApiProxy
- before_action :authorize_read_prometheus!
- before_action :environment
-
- def proxy
- variable_substitution_result =
- variable_substitution_service.new(environment, permit_params).execute
-
- if variable_substitution_result[:status] == :error
- return error_response(variable_substitution_result)
- end
-
- prometheus_result = Prometheus::ProxyService.new(
- environment,
- proxy_method,
- proxy_path,
- variable_substitution_result[:params]
- ).execute
-
- return continue_polling_response if prometheus_result.nil?
- return error_response(prometheus_result) if prometheus_result[:status] == :error
-
- success_response(prometheus_result)
- end
+ before_action :proxyable
private
- def variable_substitution_service
- Prometheus::ProxyVariableSubstitutionService
- end
-
- def permit_params
- params.permit!
- end
-
- def environment
- @environment ||= project.environments.find(params[:id])
+ def proxyable
+ @proxyable ||= project.environments.find(params[:id])
end
- def proxy_method
- request.method
- end
-
- def proxy_path
- params[:proxy_path]
+ def proxy_variable_substitution_service
+ Prometheus::ProxyVariableSubstitutionService
end
end