Remove permitting of params
- It is now being done in ProxyService class.
This commit is contained in:
parent
eac3e2302c
commit
16772b91f0
2 changed files with 5 additions and 21 deletions
|
@ -5,13 +5,11 @@ class Projects::Environments::PrometheusApiController < Projects::ApplicationCon
|
||||||
before_action :environment
|
before_action :environment
|
||||||
|
|
||||||
def proxy
|
def proxy
|
||||||
permitted = permit_params
|
|
||||||
|
|
||||||
result = Prometheus::ProxyService.new(
|
result = Prometheus::ProxyService.new(
|
||||||
environment,
|
environment,
|
||||||
request.method,
|
request.method,
|
||||||
permitted[:proxy_path],
|
params[:proxy_path],
|
||||||
permitted.except(:proxy_path) # rubocop: disable CodeReuse/ActiveRecord
|
params
|
||||||
).execute
|
).execute
|
||||||
|
|
||||||
if result.nil?
|
if result.nil?
|
||||||
|
@ -24,20 +22,15 @@ class Projects::Environments::PrometheusApiController < Projects::ApplicationCon
|
||||||
if result[:status] == :success
|
if result[:status] == :success
|
||||||
render status: result[:http_status], json: result[:body]
|
render status: result[:http_status], json: result[:body]
|
||||||
else
|
else
|
||||||
render status: result[:http_status] || :bad_request,
|
render(
|
||||||
|
status: result[:http_status] || :bad_request,
|
||||||
json: { status: result[:status], message: result[:message] }
|
json: { status: result[:status], message: result[:message] }
|
||||||
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def permit_params
|
|
||||||
params.permit([
|
|
||||||
:proxy_path, :query, :time, :timeout, :start, :end, :step, { match: [] },
|
|
||||||
:match_target, :metric, :limit
|
|
||||||
])
|
|
||||||
end
|
|
||||||
|
|
||||||
def environment
|
def environment
|
||||||
@environment ||= project.environments.find(params[:id])
|
@environment ||= project.environments.find(params[:id])
|
||||||
end
|
end
|
||||||
|
|
|
@ -36,15 +36,6 @@ describe Projects::Environments::PrometheusApiController do
|
||||||
expect(response).to have_gitlab_http_status(:ok)
|
expect(response).to have_gitlab_http_status(:ok)
|
||||||
expect(json_response).to eq(prometheus_json_body)
|
expect(json_response).to eq(prometheus_json_body)
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'filters unknown params' do
|
|
||||||
get :proxy, params: environment_params(unknown_param: 'value')
|
|
||||||
|
|
||||||
params = ActionController::Parameters.new('query' => '1').permit!
|
|
||||||
expect(Prometheus::ProxyService)
|
|
||||||
.to have_received(:new)
|
|
||||||
.with(environment, 'GET', 'query', params)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with nil result' do
|
context 'with nil result' do
|
||||||
|
|
Loading…
Reference in a new issue