From 2e7f30c18644f59a337eff00dce7f8e47ee527fc Mon Sep 17 00:00:00 2001 From: Adam Ruzicka Date: Wed, 5 May 2021 09:49:05 +0200 Subject: [PATCH] Fixes #32513 - Properly check certs when running running in proxy --- lib/smart_proxy_dynflow_core/api.rb | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/smart_proxy_dynflow_core/api.rb b/lib/smart_proxy_dynflow_core/api.rb index e88d808..9d86571 100644 --- a/lib/smart_proxy_dynflow_core/api.rb +++ b/lib/smart_proxy_dynflow_core/api.rb @@ -1,11 +1,22 @@ require 'sinatra/base' require 'multi_json' +# rubocop:disable Lint/HandleExceptions +begin + require 'proxy/log' + require 'proxy/helpers' + require 'sinatra/authorization' +rescue LoadError +end +# rubocop:enable Lint/HandleExceptions + module SmartProxyDynflowCore class Api < ::Sinatra::Base TASK_UPDATE_REGEXP_PATH = %r{/tasks/(\S+)/(update|done)} helpers Helpers + include ::Sinatra::Authorization::Helpers if defined?(::Sinatra::Authorization::Helpers) + configure do if Settings.instance.standalone ::Sinatra::Base.set :logging, false @@ -19,8 +30,10 @@ class Api < ::Sinatra::Base task_id = match[1] action = match[2] authorize_with_token(task_id: task_id, clear: action == 'done') - else + elsif Settings.instance.standalone authorize_with_ssl_client + else + do_authorize_any end content_type :json end