mirror of https://github.com/portainer/portainer
chore(deps): upgrade axios [EE-6488] (#10885)
Co-authored-by: Matt Hook <hookenz@gmail.com>pull/10528/head
parent
4c226d7a17
commit
a1519ba737
|
@ -1,4 +1,4 @@
|
||||||
import axiosOrigin, { AxiosError, AxiosRequestConfig } from 'axios';
|
import axiosOrigin, { AxiosError, InternalAxiosRequestConfig } from 'axios';
|
||||||
import { setupCache } from 'axios-cache-adapter';
|
import { setupCache } from 'axios-cache-adapter';
|
||||||
import { loadProgressBar } from 'axios-progress-bar';
|
import { loadProgressBar } from 'axios-progress-bar';
|
||||||
|
|
||||||
|
@ -18,14 +18,18 @@ export const cache = setupCache({
|
||||||
exclude: {
|
exclude: {
|
||||||
query: false, // include urls with query params
|
query: false, // include urls with query params
|
||||||
methods: ['put', 'patch', 'delete'],
|
methods: ['put', 'patch', 'delete'],
|
||||||
filter: (req: AxiosRequestConfig) => {
|
filter: (req: InternalAxiosRequestConfig) => {
|
||||||
// exclude caching get requests unless the path contains 'kubernetes'
|
// exclude caching get requests unless the path contains 'kubernetes'
|
||||||
if (!req.url?.includes('kubernetes') && req.method === 'get') {
|
if (!req.url?.includes('kubernetes') && req.method === 'get') {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// exclude caching get with yaml accept header
|
const acceptHeader = req.headers?.Accept;
|
||||||
if (req.headers?.Accept.includes('application/yaml')) {
|
if (
|
||||||
|
acceptHeader &&
|
||||||
|
typeof acceptHeader === 'string' &&
|
||||||
|
acceptHeader.includes('application/yaml')
|
||||||
|
) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,12 +63,12 @@ export default axios;
|
||||||
|
|
||||||
export const agentTargetHeader = 'X-PortainerAgent-Target';
|
export const agentTargetHeader = 'X-PortainerAgent-Target';
|
||||||
|
|
||||||
export function agentInterceptor(config: AxiosRequestConfig) {
|
export function agentInterceptor(config: InternalAxiosRequestConfig) {
|
||||||
if (!config.url || !config.url.includes('/docker/')) {
|
if (!config.url || !config.url.includes('/docker/')) {
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
const newConfig = { headers: config.headers || {}, ...config };
|
const newConfig = { ...config };
|
||||||
const target = portainerAgentTargetHeader();
|
const target = portainerAgentTargetHeader();
|
||||||
if (target) {
|
if (target) {
|
||||||
newConfig.headers[agentTargetHeader] = target;
|
newConfig.headers[agentTargetHeader] = target;
|
||||||
|
@ -135,16 +139,40 @@ export function parseAxiosError(
|
||||||
return new PortainerError(resultMsg, resultErr);
|
return new PortainerError(resultMsg, resultErr);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function defaultErrorParser(axiosError: AxiosError) {
|
type DefaultAxiosErrorType = {
|
||||||
|
message: string;
|
||||||
|
details?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
export function defaultErrorParser(axiosError: AxiosError<unknown>) {
|
||||||
|
if (isDefaultResponse(axiosError.response?.data)) {
|
||||||
const message = axiosError.response?.data.message || '';
|
const message = axiosError.response?.data.message || '';
|
||||||
const details = axiosError.response?.data.details || message;
|
const details = axiosError.response?.data.details || message;
|
||||||
const error = new Error(message);
|
const error = new Error(message);
|
||||||
return { error, details };
|
return { error, details };
|
||||||
|
}
|
||||||
|
|
||||||
|
const details = axiosError.response?.data
|
||||||
|
? axiosError.response?.data.toString()
|
||||||
|
: '';
|
||||||
|
const error = new Error('Axios error');
|
||||||
|
return { error, details };
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isAxiosError<
|
export function isDefaultResponse(
|
||||||
ResponseType = { message: string; details: string },
|
data: unknown
|
||||||
>(error: unknown): error is AxiosError<ResponseType> {
|
): data is DefaultAxiosErrorType {
|
||||||
|
return (
|
||||||
|
!!data &&
|
||||||
|
typeof data === 'object' &&
|
||||||
|
'message' in data &&
|
||||||
|
typeof data.message === 'string'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function isAxiosError<ResponseType>(
|
||||||
|
error: unknown
|
||||||
|
): error is AxiosError<ResponseType> {
|
||||||
return axiosOrigin.isAxiosError(error);
|
return axiosOrigin.isAxiosError(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
import { InternalAxiosRequestConfig, AxiosResponse } from 'axios';
|
||||||
import { IHttpResponse } from 'angular';
|
import { IHttpResponse } from 'angular';
|
||||||
|
|
||||||
import axios from './axios';
|
import axios from './axios';
|
||||||
|
@ -26,12 +26,12 @@ export function csrfTokenReaderInterceptorAngular(
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function csrfInterceptor(config: AxiosRequestConfig) {
|
export function csrfInterceptor(config: InternalAxiosRequestConfig) {
|
||||||
if (!csrfToken) {
|
if (!csrfToken) {
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
|
|
||||||
const newConfig = { headers: config.headers || {}, ...config };
|
const newConfig = { ...config };
|
||||||
newConfig.headers['X-CSRF-Token'] = csrfToken;
|
newConfig.headers['X-CSRF-Token'] = csrfToken;
|
||||||
return newConfig;
|
return newConfig;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ async function getSubscriptions(environmentId: EnvironmentId) {
|
||||||
return data.value;
|
return data.value;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw parseAxiosError(
|
throw parseAxiosError(
|
||||||
e as Error,
|
e,
|
||||||
'Unable to retrieve subscriptions',
|
'Unable to retrieve subscriptions',
|
||||||
azureErrorParser
|
azureErrorParser
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,9 +1,22 @@
|
||||||
import { AxiosError } from 'axios';
|
import { AxiosError } from 'axios';
|
||||||
|
|
||||||
export function azureErrorParser(axiosError: AxiosError) {
|
export function azureErrorParser(axiosError: AxiosError) {
|
||||||
|
if (!axiosError.response) {
|
||||||
|
const error = new Error('Failed azure request');
|
||||||
|
return {
|
||||||
|
error,
|
||||||
|
details: axiosError.message,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
const responseData = axiosError.response.data;
|
||||||
const message =
|
const message =
|
||||||
(axiosError.response?.data?.error?.message as string) ||
|
responseData &&
|
||||||
'Failed azure request';
|
typeof responseData === 'object' &&
|
||||||
|
'error' in responseData &&
|
||||||
|
typeof responseData.error === 'string'
|
||||||
|
? responseData.error
|
||||||
|
: `Failed azure request: ${axiosError.response?.statusText}`;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
error: new Error(message),
|
error: new Error(message),
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { useMutation, useQueryClient } from 'react-query';
|
import { useMutation, useQueryClient } from 'react-query';
|
||||||
import { AxiosRequestHeaders } from 'axios';
|
import { RawAxiosRequestHeaders } from 'axios';
|
||||||
|
|
||||||
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
||||||
import {
|
import {
|
||||||
|
@ -282,7 +282,7 @@ async function createContainer(
|
||||||
{ nodeName }: { nodeName?: string } = {}
|
{ nodeName }: { nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { AxiosRequestHeaders } from 'axios';
|
import { RawAxiosRequestHeaders } from 'axios';
|
||||||
|
|
||||||
import { EnvironmentId } from '@/react/portainer/environments/types';
|
import { EnvironmentId } from '@/react/portainer/environments/types';
|
||||||
import PortainerError from '@/portainer/error';
|
import PortainerError from '@/portainer/error';
|
||||||
|
@ -12,7 +12,7 @@ export async function startContainer(
|
||||||
id: ContainerId,
|
id: ContainerId,
|
||||||
{ nodeName }: { nodeName?: string } = {}
|
{ nodeName }: { nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
@ -34,7 +34,7 @@ export async function stopContainer(
|
||||||
id: ContainerId,
|
id: ContainerId,
|
||||||
{ nodeName }: { nodeName?: string } = {}
|
{ nodeName }: { nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
@ -49,7 +49,7 @@ export async function recreateContainer(
|
||||||
pullImage: boolean,
|
pullImage: boolean,
|
||||||
{ nodeName }: { nodeName?: string } = {}
|
{ nodeName }: { nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
@ -69,7 +69,7 @@ export async function restartContainer(
|
||||||
id: ContainerId,
|
id: ContainerId,
|
||||||
{ nodeName }: { nodeName?: string } = {}
|
{ nodeName }: { nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
@ -87,7 +87,7 @@ export async function killContainer(
|
||||||
id: ContainerId,
|
id: ContainerId,
|
||||||
{ nodeName }: { nodeName?: string } = {}
|
{ nodeName }: { nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
@ -101,7 +101,7 @@ export async function pauseContainer(
|
||||||
id: ContainerId,
|
id: ContainerId,
|
||||||
{ nodeName }: { nodeName?: string } = {}
|
{ nodeName }: { nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
@ -115,7 +115,7 @@ export async function resumeContainer(
|
||||||
id: ContainerId,
|
id: ContainerId,
|
||||||
{ nodeName }: { nodeName?: string } = {}
|
{ nodeName }: { nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
@ -134,7 +134,7 @@ export async function renameContainer(
|
||||||
name: string,
|
name: string,
|
||||||
{ nodeName }: { nodeName?: string } = {}
|
{ nodeName }: { nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
@ -156,7 +156,7 @@ export async function removeContainer(
|
||||||
}: { removeVolumes?: boolean; nodeName?: string } = {}
|
}: { removeVolumes?: boolean; nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
try {
|
try {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { Resources, RestartPolicy } from 'docker-types/generated/1.41';
|
import { Resources, RestartPolicy } from 'docker-types/generated/1.41';
|
||||||
import { AxiosRequestHeaders } from 'axios';
|
import { RawAxiosRequestHeaders } from 'axios';
|
||||||
|
|
||||||
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
||||||
import { EnvironmentId } from '@/react/portainer/environments/types';
|
import { EnvironmentId } from '@/react/portainer/environments/types';
|
||||||
|
@ -22,7 +22,7 @@ export async function updateContainer(
|
||||||
config: UpdateConfig,
|
config: UpdateConfig,
|
||||||
{ nodeName }: { nodeName?: string } = {}
|
{ nodeName }: { nodeName?: string } = {}
|
||||||
) {
|
) {
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { AxiosRequestHeaders } from 'axios';
|
import { RawAxiosRequestHeaders } from 'axios';
|
||||||
|
|
||||||
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
||||||
import { EnvironmentId } from '@/react/portainer/environments/types';
|
import { EnvironmentId } from '@/react/portainer/environments/types';
|
||||||
|
@ -31,7 +31,7 @@ export async function pullImage({
|
||||||
|
|
||||||
const imageURI = buildImageFullURI(image, registry);
|
const imageURI = buildImageFullURI(image, registry);
|
||||||
|
|
||||||
const headers: AxiosRequestHeaders = {
|
const headers: RawAxiosRequestHeaders = {
|
||||||
'X-Registry-Auth': authenticationDetails,
|
'X-Registry-Auth': authenticationDetails,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { EndpointSettings } from 'docker-types/generated/1.41';
|
import { EndpointSettings } from 'docker-types/generated/1.41';
|
||||||
import { AxiosRequestHeaders } from 'axios';
|
import { RawAxiosRequestHeaders } from 'axios';
|
||||||
import { useMutation, useQueryClient } from 'react-query';
|
import { useMutation, useQueryClient } from 'react-query';
|
||||||
|
|
||||||
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
||||||
|
@ -56,7 +56,7 @@ export async function connectContainer({
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const headers: AxiosRequestHeaders = {};
|
const headers: RawAxiosRequestHeaders = {};
|
||||||
|
|
||||||
if (nodeName) {
|
if (nodeName) {
|
||||||
headers['X-PortainerAgent-Target'] = nodeName;
|
headers['X-PortainerAgent-Target'] = nodeName;
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
import { AxiosError } from 'axios';
|
import { AxiosError } from 'axios';
|
||||||
import { useQuery } from 'react-query';
|
import { useQuery } from 'react-query';
|
||||||
|
|
||||||
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
import axios, {
|
||||||
|
isDefaultResponse,
|
||||||
|
parseAxiosError,
|
||||||
|
} from '@/portainer/services/axios';
|
||||||
|
|
||||||
interface Creds {
|
interface Creds {
|
||||||
username?: string;
|
username?: string;
|
||||||
|
@ -45,8 +48,10 @@ export async function checkRepo(
|
||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw parseAxiosError(error as Error, '', (axiosError: AxiosError) => {
|
throw parseAxiosError(error, '', (axiosError: AxiosError) => {
|
||||||
let details = axiosError.response?.data.details;
|
let details = isDefaultResponse(axiosError.response?.data)
|
||||||
|
? axiosError.response?.data.details || ''
|
||||||
|
: '';
|
||||||
|
|
||||||
const { creds = {} } = options;
|
const { creds = {} } = options;
|
||||||
// If no credentials were provided alter error from git to indicate repository is not found or is private
|
// If no credentials were provided alter error from git to indicate repository is not found or is private
|
||||||
|
|
|
@ -37,7 +37,7 @@ describe('getLicenses', () => {
|
||||||
const promise = getLicenses();
|
const promise = getLicenses();
|
||||||
await promise.then(thenFn, catchFn);
|
await promise.then(thenFn, catchFn);
|
||||||
|
|
||||||
expect(catchFn).toHaveBeenCalledWith(new Error(message));
|
expect(catchFn).toHaveBeenCalledWith(new Error(details));
|
||||||
expect(thenFn).not.toHaveBeenCalled();
|
expect(thenFn).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import { AxiosError } from 'axios';
|
import { AxiosError } from 'axios';
|
||||||
|
|
||||||
import axios from '@/portainer/services/axios';
|
import axios, { parseAxiosError } from '@/portainer/services/axios';
|
||||||
|
|
||||||
import { License, LicenseInfo } from './types';
|
import { License, LicenseInfo } from './types';
|
||||||
|
|
||||||
|
@ -25,8 +25,7 @@ export async function getLicenses() {
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
const axiosError = e as AxiosError;
|
throw parseAxiosError(e);
|
||||||
throw new Error(axiosError.response?.data.message);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,7 +54,7 @@ export async function attachLicense(licenseKeys: string[]) {
|
||||||
'Your session has expired, please refresh the browser and log in again.'
|
'Your session has expired, please refresh the browser and log in again.'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
throw new Error(axiosError.response?.data.message);
|
throw parseAxiosError(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,8 +75,7 @@ export async function removeLicense(licenseKeys: string[]) {
|
||||||
getLicenseInfo();
|
getLicenseInfo();
|
||||||
return data;
|
return data;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
const axiosError = e as AxiosError;
|
throw parseAxiosError(e);
|
||||||
throw new Error(axiosError.response?.data.message);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,8 +103,7 @@ export async function getLicenseInfo() {
|
||||||
|
|
||||||
return info;
|
return info;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
const axiosError = e as AxiosError;
|
throw parseAxiosError(e);
|
||||||
throw new Error(axiosError.response?.data.message);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
"angularjs-scroll-glue": "^2.2.0",
|
"angularjs-scroll-glue": "^2.2.0",
|
||||||
"angularjs-slider": "^6.4.0",
|
"angularjs-slider": "^6.4.0",
|
||||||
"angulartics": "^1.6.0",
|
"angulartics": "^1.6.0",
|
||||||
"axios": "^0.24.0",
|
"axios": "^1.6.2",
|
||||||
"axios-cache-adapter": "^2.7.3",
|
"axios-cache-adapter": "^2.7.3",
|
||||||
"axios-progress-bar": "^1.2.0",
|
"axios-progress-bar": "^1.2.0",
|
||||||
"babel-plugin-angularjs-annotate": "^0.10.0",
|
"babel-plugin-angularjs-annotate": "^0.10.0",
|
||||||
|
|
30
yarn.lock
30
yarn.lock
|
@ -6483,12 +6483,14 @@ axios-progress-bar@^1.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/axios-progress-bar/-/axios-progress-bar-1.2.0.tgz#f9ee88dc9af977246be1ef07eedfa4c990c639c5"
|
resolved "https://registry.yarnpkg.com/axios-progress-bar/-/axios-progress-bar-1.2.0.tgz#f9ee88dc9af977246be1ef07eedfa4c990c639c5"
|
||||||
integrity sha512-PEgWb/b2SMyHnKJ/cxA46OdCuNeVlo8eqL0HxXPtz+6G/Jtpyo49icPbW+jpO1wUeDEjbqpseMoCyWxESxf5pA==
|
integrity sha512-PEgWb/b2SMyHnKJ/cxA46OdCuNeVlo8eqL0HxXPtz+6G/Jtpyo49icPbW+jpO1wUeDEjbqpseMoCyWxESxf5pA==
|
||||||
|
|
||||||
axios@^0.24.0:
|
axios@^1.6.2:
|
||||||
version "0.24.0"
|
version "1.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6"
|
resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2"
|
||||||
integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==
|
integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==
|
||||||
dependencies:
|
dependencies:
|
||||||
follow-redirects "^1.14.4"
|
follow-redirects "^1.15.0"
|
||||||
|
form-data "^4.0.0"
|
||||||
|
proxy-from-env "^1.1.0"
|
||||||
|
|
||||||
axobject-query@^3.1.1:
|
axobject-query@^3.1.1:
|
||||||
version "3.1.1"
|
version "3.1.1"
|
||||||
|
@ -9698,11 +9700,16 @@ focus-lock@^0.11.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib "^2.0.3"
|
tslib "^2.0.3"
|
||||||
|
|
||||||
follow-redirects@^1.0.0, follow-redirects@^1.14.4:
|
follow-redirects@^1.0.0:
|
||||||
version "1.15.1"
|
version "1.15.1"
|
||||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
|
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
|
||||||
integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
|
integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
|
||||||
|
|
||||||
|
follow-redirects@^1.15.0:
|
||||||
|
version "1.15.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a"
|
||||||
|
integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==
|
||||||
|
|
||||||
for-each@^0.3.3:
|
for-each@^0.3.3:
|
||||||
version "0.3.3"
|
version "0.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
|
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
|
||||||
|
@ -9757,6 +9764,15 @@ form-data@^3.0.0:
|
||||||
combined-stream "^1.0.8"
|
combined-stream "^1.0.8"
|
||||||
mime-types "^2.1.12"
|
mime-types "^2.1.12"
|
||||||
|
|
||||||
|
form-data@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
|
||||||
|
integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
|
||||||
|
dependencies:
|
||||||
|
asynckit "^0.4.0"
|
||||||
|
combined-stream "^1.0.8"
|
||||||
|
mime-types "^2.1.12"
|
||||||
|
|
||||||
formik@^2.2.9:
|
formik@^2.2.9:
|
||||||
version "2.2.9"
|
version "2.2.9"
|
||||||
resolved "https://registry.yarnpkg.com/formik/-/formik-2.2.9.tgz#8594ba9c5e2e5cf1f42c5704128e119fc46232d0"
|
resolved "https://registry.yarnpkg.com/formik/-/formik-2.2.9.tgz#8594ba9c5e2e5cf1f42c5704128e119fc46232d0"
|
||||||
|
@ -14021,7 +14037,7 @@ proxy-addr@~2.0.7:
|
||||||
forwarded "0.2.0"
|
forwarded "0.2.0"
|
||||||
ipaddr.js "1.9.1"
|
ipaddr.js "1.9.1"
|
||||||
|
|
||||||
proxy-from-env@^1.0.0:
|
proxy-from-env@^1.0.0, proxy-from-env@^1.1.0:
|
||||||
version "1.1.0"
|
version "1.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
|
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
|
||||||
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
|
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
|
||||||
|
|
Loading…
Reference in New Issue