diff --git a/x-pack/plugins/actions/server/builtin_action_types/lib/axios_utils.test.ts b/x-pack/plugins/actions/server/builtin_action_types/lib/axios_utils.test.ts index 23e16b746391..a4db25310c79 100644 --- a/x-pack/plugins/actions/server/builtin_action_types/lib/axios_utils.test.ts +++ b/x-pack/plugins/actions/server/builtin_action_types/lib/axios_utils.test.ts @@ -10,7 +10,7 @@ import { Logger } from '../../../../../../src/core/server'; import { addTimeZoneToDate, request, patch, getErrorMessage } from './axios_utils'; import { loggingSystemMock } from '../../../../../../src/core/server/mocks'; import { actionsConfigMock } from '../../actions_config.mock'; -import { getProxyAgents } from './get_proxy_agents'; +import { getCustomAgents } from './get_custom_agents'; const logger = loggingSystemMock.create().get() as jest.Mocked; const configurationUtilities = actionsConfigMock.create(); @@ -66,7 +66,7 @@ describe('request', () => { proxyRejectUnauthorizedCertificates: true, proxyUrl: 'https://localhost:1212', }); - const { httpAgent, httpsAgent } = getProxyAgents(configurationUtilities, logger); + const { httpAgent, httpsAgent } = getCustomAgents(configurationUtilities, logger); const res = await request({ axios, diff --git a/x-pack/plugins/actions/server/builtin_action_types/lib/axios_utils.ts b/x-pack/plugins/actions/server/builtin_action_types/lib/axios_utils.ts index a70a452737dc..9a8c4e09ad55 100644 --- a/x-pack/plugins/actions/server/builtin_action_types/lib/axios_utils.ts +++ b/x-pack/plugins/actions/server/builtin_action_types/lib/axios_utils.ts @@ -6,7 +6,7 @@ import { AxiosInstance, Method, AxiosResponse, AxiosBasicCredentials } from 'axios'; import { Logger } from '../../../../../../src/core/server'; -import { getProxyAgents } from './get_proxy_agents'; +import { getCustomAgents } from './get_custom_agents'; import { ActionsConfigurationUtilities } from '../../actions_config'; export const request = async ({ @@ -29,7 +29,7 @@ export const request = async ({ validateStatus?: (status: number) => boolean; auth?: AxiosBasicCredentials; }): Promise => { - const { httpAgent, httpsAgent } = getProxyAgents(configurationUtilities, logger); + const { httpAgent, httpsAgent } = getCustomAgents(configurationUtilities, logger); return await axios(url, { ...rest, diff --git a/x-pack/plugins/actions/server/builtin_action_types/lib/get_proxy_agents.test.ts b/x-pack/plugins/actions/server/builtin_action_types/lib/get_custom_agents.test.ts similarity index 81% rename from x-pack/plugins/actions/server/builtin_action_types/lib/get_proxy_agents.test.ts rename to x-pack/plugins/actions/server/builtin_action_types/lib/get_custom_agents.test.ts index da2ad9bb3990..cc2f729a033a 100644 --- a/x-pack/plugins/actions/server/builtin_action_types/lib/get_proxy_agents.test.ts +++ b/x-pack/plugins/actions/server/builtin_action_types/lib/get_custom_agents.test.ts @@ -8,12 +8,12 @@ import { Agent as HttpsAgent } from 'https'; import HttpProxyAgent from 'http-proxy-agent'; import { HttpsProxyAgent } from 'https-proxy-agent'; import { Logger } from '../../../../../../src/core/server'; -import { getProxyAgents } from './get_proxy_agents'; +import { getCustomAgents } from './get_custom_agents'; import { loggingSystemMock } from '../../../../../../src/core/server/mocks'; import { actionsConfigMock } from '../../actions_config.mock'; const logger = loggingSystemMock.create().get() as jest.Mocked; -describe('getProxyAgents', () => { +describe('getCustomAgents', () => { const configurationUtilities = actionsConfigMock.create(); test('get agents for valid proxy URL', () => { @@ -21,7 +21,7 @@ describe('getProxyAgents', () => { proxyUrl: 'https://someproxyhost', proxyRejectUnauthorizedCertificates: false, }); - const { httpAgent, httpsAgent } = getProxyAgents(configurationUtilities, logger); + const { httpAgent, httpsAgent } = getCustomAgents(configurationUtilities, logger); expect(httpAgent instanceof HttpProxyAgent).toBeTruthy(); expect(httpsAgent instanceof HttpsProxyAgent).toBeTruthy(); }); @@ -31,13 +31,13 @@ describe('getProxyAgents', () => { proxyUrl: ':nope: not a valid URL', proxyRejectUnauthorizedCertificates: false, }); - const { httpAgent, httpsAgent } = getProxyAgents(configurationUtilities, logger); + const { httpAgent, httpsAgent } = getCustomAgents(configurationUtilities, logger); expect(httpAgent).toBe(undefined); expect(httpsAgent instanceof HttpsAgent).toBeTruthy(); }); test('return default agents for undefined proxy options', () => { - const { httpAgent, httpsAgent } = getProxyAgents(configurationUtilities, logger); + const { httpAgent, httpsAgent } = getCustomAgents(configurationUtilities, logger); expect(httpAgent).toBe(undefined); expect(httpsAgent instanceof HttpsAgent).toBeTruthy(); }); diff --git a/x-pack/plugins/actions/server/builtin_action_types/lib/get_proxy_agents.ts b/x-pack/plugins/actions/server/builtin_action_types/lib/get_custom_agents.ts similarity index 90% rename from x-pack/plugins/actions/server/builtin_action_types/lib/get_proxy_agents.ts rename to x-pack/plugins/actions/server/builtin_action_types/lib/get_custom_agents.ts index a49889570f4b..ad97dd5023f8 100644 --- a/x-pack/plugins/actions/server/builtin_action_types/lib/get_proxy_agents.ts +++ b/x-pack/plugins/actions/server/builtin_action_types/lib/get_custom_agents.ts @@ -11,17 +11,17 @@ import { HttpsProxyAgent } from 'https-proxy-agent'; import { Logger } from '../../../../../../src/core/server'; import { ActionsConfigurationUtilities } from '../../actions_config'; -interface GetProxyAgentsResponse { +interface GetCustomAgentsResponse { httpAgent: HttpAgent | undefined; httpsAgent: HttpsAgent | undefined; } -export function getProxyAgents( +export function getCustomAgents( configurationUtilities: ActionsConfigurationUtilities, logger: Logger -): GetProxyAgentsResponse { +): GetCustomAgentsResponse { const proxySettings = configurationUtilities.getProxySettings(); - const defaultResponse = { + const defaultAgents = { httpAgent: undefined, httpsAgent: new HttpsAgent({ rejectUnauthorized: configurationUtilities.isRejectUnauthorizedCertificatesEnabled(), @@ -29,7 +29,7 @@ export function getProxyAgents( }; if (!proxySettings) { - return defaultResponse; + return defaultAgents; } logger.debug(`Creating proxy agents for proxy: ${proxySettings.proxyUrl}`); @@ -38,7 +38,7 @@ export function getProxyAgents( proxyUrl = new URL(proxySettings.proxyUrl); } catch (err) { logger.warn(`invalid proxy URL "${proxySettings.proxyUrl}" ignored`); - return defaultResponse; + return defaultAgents; } const httpAgent = new HttpProxyAgent(proxySettings.proxyUrl); diff --git a/x-pack/plugins/actions/server/builtin_action_types/slack.ts b/x-pack/plugins/actions/server/builtin_action_types/slack.ts index 5d2c5a24b3ed..9f0a4c44b3c5 100644 --- a/x-pack/plugins/actions/server/builtin_action_types/slack.ts +++ b/x-pack/plugins/actions/server/builtin_action_types/slack.ts @@ -22,7 +22,7 @@ import { ExecutorType, } from '../types'; import { ActionsConfigurationUtilities } from '../actions_config'; -import { getProxyAgents } from './lib/get_proxy_agents'; +import { getCustomAgents } from './lib/get_custom_agents'; export type SlackActionType = ActionType<{}, ActionTypeSecretsType, ActionParamsType, unknown>; export type SlackActionTypeExecutorOptions = ActionTypeExecutorOptions< @@ -130,10 +130,10 @@ async function slackExecutor( const { message } = params; const proxySettings = configurationUtilities.getProxySettings(); - const proxyAgents = getProxyAgents(configurationUtilities, logger); - const httpProxyAgent = webhookUrl.toLowerCase().startsWith('https') - ? proxyAgents.httpsAgent - : proxyAgents.httpAgent; + const customAgents = getCustomAgents(configurationUtilities, logger); + const agent = webhookUrl.toLowerCase().startsWith('https') + ? customAgents.httpsAgent + : customAgents.httpAgent; if (proxySettings) { logger.debug(`IncomingWebhook was called with proxyUrl ${proxySettings.proxyUrl}`); @@ -143,7 +143,7 @@ async function slackExecutor( // https://slack.dev/node-slack-sdk/webhook // node-slack-sdk use Axios inside :) const webhook = new IncomingWebhook(webhookUrl, { - agent: httpProxyAgent, + agent, }); result = await webhook.send(message); } catch (err) {