- Removed need for abort controller in axios implementation

- Fixed export of cancelable promise for custom requests
-
This commit is contained in:
Ferdi Koomen 2021-10-19 21:47:56 +02:00
parent ad11e63a57
commit 6b7efd1523
7 changed files with 10 additions and 11 deletions

View File

@ -20,13 +20,13 @@ module.exports = {
testMatch: [
'<rootDir>/test/e2e/v2.fetch.spec.js',
'<rootDir>/test/e2e/v2.xhr.spec.js',
'<rootDir>/test/e2e/v2.axios.spec.js',
'<rootDir>/test/e2e/v2.node.spec.js',
'<rootDir>/test/e2e/v2.axios.spec.js',
'<rootDir>/test/e2e/v2.babel.spec.js',
'<rootDir>/test/e2e/v3.fetch.spec.js',
'<rootDir>/test/e2e/v3.xhr.spec.js',
'<rootDir>/test/e2e/v3.axios.spec.js',
'<rootDir>/test/e2e/v3.node.spec.js',
'<rootDir>/test/e2e/v3.axios.spec.js',
'<rootDir>/test/e2e/v3.babel.spec.js',
],
},

View File

@ -1,6 +1,5 @@
{{>header}}
import { AbortController } from 'abort-controller';
import axios, { AxiosRequestConfig, AxiosResponse } from 'axios';
import FormData from 'form-data';

View File

@ -1,5 +1,5 @@
async function sendRequest(options: ApiRequestOptions, url: string, onCancel: (cancelHandler: () => void) => void): Promise<AxiosResponse<any>> {
const controller = new AbortController();
const source = axios.CancelToken.source();
const formData = options.formData && getFormData(options.formData);
const data = formData || options.body;
@ -8,10 +8,10 @@ async function sendRequest(options: ApiRequestOptions, url: string, onCancel: (c
data,
method: options.method,
headers: await getHeaders(options, formData),
signal: controller.signal,
cancelToken: source.token,
};
onCancel(() => controller.abort());
onCancel(() => source.cancel('The user aborted a request.'));
return await axios.request(config);
}

View File

@ -2,7 +2,7 @@
{{#if @root.exportCore}}
export { ApiError } from './core/ApiError';
export type { CancelablePromise } from './core/CancelablePromise';
export { CancelablePromise } from './core/CancelablePromise';
export { OpenAPI } from './core/OpenAPI';
{{/if}}
{{#if @root.exportModels}}

View File

@ -430,7 +430,7 @@ exports[`v2 should generate: ./test/generated/v2/index.ts 1`] = `
/* tslint:disable */
/* eslint-disable */
export { ApiError } from './core/ApiError';
export type { CancelablePromise } from './core/CancelablePromise';
export { CancelablePromise } from './core/CancelablePromise';
export { OpenAPI } from './core/OpenAPI';
export type { ArrayWithArray } from './models/ArrayWithArray';
@ -2899,7 +2899,7 @@ exports[`v3 should generate: ./test/generated/v3/index.ts 1`] = `
/* tslint:disable */
/* eslint-disable */
export { ApiError } from './core/ApiError';
export type { CancelablePromise } from './core/CancelablePromise';
export { CancelablePromise } from './core/CancelablePromise';
export { OpenAPI } from './core/OpenAPI';
export type { ArrayWithArray } from './models/ArrayWithArray';

View File

@ -45,7 +45,7 @@ describe('v2.node', () => {
}, 10);
await promise;
} catch (e) {
expect(e.message).toContain('canceled');
expect(e.message).toContain('The user aborted a request.');
}
});
});

View File

@ -64,7 +64,7 @@ describe('v3.node', () => {
}, 10);
await promise;
} catch (e) {
expect(e.message).toContain('canceled');
expect(e.message).toContain('The user aborted a request.');
}
});
});