Skip to content

Commit 614cca7

Browse files
author
Antoni Sierakowski
committed
feature: add additional request options for axios
1 parent abab307 commit 614cca7

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

src/templates/core/axios/request.hbs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,11 @@ import type { OpenAPIConfig } from './OpenAPI';
6666
* Request method
6767
* @param config The OpenAPI configuration object
6868
* @param options The request options from the service
69+
* @param additionalOptions Request-level axios overwrites
6970
* @returns CancelablePromise<T>
7071
* @throws ApiError
7172
*/
72-
export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise<T> => {
73+
export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions, additionalOptions: AxiosRequestConfig): CancelablePromise<T> => {
7374
return new CancelablePromise(async (resolve, reject, onCancel) => {
7475
try {
7576
const url = getUrl(config, options);
@@ -78,7 +79,7 @@ export const request = <T>(config: OpenAPIConfig, options: ApiRequestOptions): C
7879
const headers = await getHeaders(config, options, formData);
7980

8081
if (!onCancel.isCancelled) {
81-
const response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel);
82+
const response = await sendRequest<T>(config, options, url, body, formData, headers, onCancel, additionalOptions);
8283
const responseBody = getResponseBody(response);
8384
const responseHeader = getResponseHeader(response, options.responseHeader);
8485

src/templates/core/axios/sendRequest.hbs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const sendRequest = async <T>(
66
formData: FormData | undefined,
77
headers: Record<string, string>,
88
onCancel: OnCancel
9+
additionalOptions: AxiosRequestConfig,
910
): Promise<AxiosResponse<T>> => {
1011
const source = axios.CancelToken.source();
1112

@@ -16,6 +17,7 @@ const sendRequest = async <T>(
1617
method: options.method,
1718
withCredentials: config.WITH_CREDENTIALS,
1819
cancelToken: source.token,
20+
...additionalOptions,
1921
};
2022

2123
onCancel(() => source.cancel('The user aborted a request.'));

src/templates/exportService.hbs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ import type { Observable } from 'rxjs';
1111
{{/if}}
1212

1313
{{/equals}}
14+
15+
{{#equals @root.httpClient 'axios'}}
16+
import type { AxiosRequestConfig } from 'axios';
17+
{{/equals}}
18+
1419
{{#if imports}}
1520
{{#each imports}}
1621
import type { {{{this}}} } from '../models/{{{this}}}';
@@ -81,9 +86,14 @@ export class {{{name}}}{{{@root.postfix}}} {
8186
public {{{name}}}({{>parameters}}): Observable<{{>result}}> {
8287
return __request(OpenAPI, this.http, {
8388
{{else}}
89+
{{#equals @root.httpClient 'axios'}}
90+
public static {{{name}}}({{>parameters}}, additionalOptions: AxiosRequestConfig): CancelablePromise<{{>result}}> {
91+
return __request(OpenAPI, {
92+
{{else}}
8493
public static {{{name}}}({{>parameters}}): CancelablePromise<{{>result}}> {
8594
return __request(OpenAPI, {
8695
{{/equals}}
96+
{{/equals}}
8797
{{/if}}
8898
method: '{{{method}}}',
8999
url: '{{{path}}}',
@@ -143,7 +153,11 @@ export class {{{name}}}{{{@root.postfix}}} {
143153
{{/each}}
144154
},
145155
{{/if}}
156+
{{#equals @root.httpClient 'axios'}}
157+
}, additionalOptions);
158+
{{else}}
146159
});
160+
{{/equals}}
147161
}
148162

149163
{{/each}}

0 commit comments

Comments
 (0)