From 7d91ab72e1c61190232e87249dc03a3bccae70f4 Mon Sep 17 00:00:00 2001 From: Chaim Lev-Ari Date: Tue, 1 Feb 2022 09:37:12 +0200 Subject: [PATCH] fix(agent): add agent header [EE-2433] (#6484) * fix(agent): add agent header [EE-2433] fix [EE-2433] * fix(containers): reload current endpoint id --- app/docker/services/containerService.js | 6 ++++-- app/portainer/services/axios.ts | 11 ++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/docker/services/containerService.js b/app/docker/services/containerService.js index f4fc85378..5b3db0527 100644 --- a/app/docker/services/containerService.js +++ b/app/docker/services/containerService.js @@ -199,8 +199,10 @@ function ContainerServiceFactory($q, Container, LogHelper, $timeout, EndpointPro return service; function withEndpointId(func) { - const endpointId = EndpointProvider.endpointID(); + return function (...args) { + const endpointId = EndpointProvider.endpointID(); - return func.bind(null, endpointId); + return func(endpointId, ...args); + }; } } diff --git a/app/portainer/services/axios.ts b/app/portainer/services/axios.ts index e78e1a29e..5b242a2f5 100644 --- a/app/portainer/services/axios.ts +++ b/app/portainer/services/axios.ts @@ -13,13 +13,11 @@ const axiosApiInstance = axios.create({ baseURL: 'api' }); export default axiosApiInstance; axiosApiInstance.interceptors.request.use(async (config) => { - const newConfig = { ...config }; + const newConfig = { headers: config.headers || {}, ...config }; const jwt = localStorageGet('JWT', ''); if (jwt) { - newConfig.headers = { - Authorization: `Bearer ${jwt}`, - }; + newConfig.headers.Authorization = `Bearer ${jwt}`; } return newConfig; @@ -31,8 +29,11 @@ export function agentInterceptor(config: AxiosRequestConfig) { } const newConfig = { headers: config.headers || {}, ...config }; + const target = portainerAgentTargetHeader(); + if (target) { + newConfig.headers['X-PortainerAgent-Target'] = target; + } - newConfig.headers['X-PortainerAgent-Target'] = portainerAgentTargetHeader(); if (portainerAgentManagerOperation()) { newConfig.headers['X-PortainerAgent-ManagerOperation'] = '1'; }