@@ -65,20 +65,24 @@ exports[`v2 should generate: ./test/result/v2/core/OpenAPI.ts 1`] = `
65
65
/* tslint:disable */
66
66
/* eslint-disable */
67
67
68
+ import { Result } from './Result';
69
+
68
70
interface Config {
69
71
BASE: string;
70
72
VERSION: string;
71
73
CLIENT: 'fetch' | 'xhr';
72
74
WITH_CREDENTIALS: boolean;
73
75
TOKEN: string;
76
+ REQUEST_HOOK?(request: RequestInit): Promise<RequestInit>;
77
+ RESPONSE_HOOK?(result: Result): Promise<Result>
74
78
}
75
79
76
80
export const OpenAPI: Config = {
77
81
BASE: 'http://localhost:8080/api',
78
82
VERSION: '9.0',
79
83
CLIENT: 'fetch',
80
84
WITH_CREDENTIALS: false,
81
- TOKEN: '',
85
+ TOKEN: ''
82
86
};"
83
87
`;
84
88
@@ -263,13 +267,20 @@ export async function request(options: Readonly<RequestOptions>): Promise<Result
263
267
}
264
268
}
265
269
270
+
271
+ // Pre-hook on request if a function is provided.
272
+ const requestToSend = OpenAPI.REQUEST_HOOK ? (await OpenAPI.REQUEST_HOOK(request)) : request;
273
+
266
274
try {
275
+ let response: Result;
267
276
switch (OpenAPI.CLIENT) {
268
277
case 'xhr':
269
- return await requestUsingXHR(url, request, options.responseHeader);
278
+ response = await requestUsingXHR(url, request, options.responseHeader);
270
279
default:
271
- return await requestUsingFetch(url, request, options.responseHeader);
280
+ response = await requestUsingFetch(url, request, options.responseHeader);
272
281
}
282
+ // If there is a response hook, call it
283
+ return OpenAPI.RESPONSE_HOOK ? OpenAPI.RESPONSE_HOOK(response) : response;
273
284
} catch (error) {
274
285
return {
275
286
url,
@@ -2555,20 +2566,24 @@ exports[`v3 should generate: ./test/result/v3/core/OpenAPI.ts 1`] = `
2555
2566
/* tslint:disable */
2556
2567
/* eslint-disable */
2557
2568
2569
+ import { Result } from './Result';
2570
+
2558
2571
interface Config {
2559
2572
BASE: string;
2560
2573
VERSION: string;
2561
2574
CLIENT: 'fetch' | 'xhr';
2562
2575
WITH_CREDENTIALS: boolean;
2563
2576
TOKEN: string;
2577
+ REQUEST_HOOK?(request: RequestInit): Promise<RequestInit>;
2578
+ RESPONSE_HOOK?(result: Result): Promise<Result>
2564
2579
}
2565
2580
2566
2581
export const OpenAPI: Config = {
2567
2582
BASE: '/api',
2568
2583
VERSION: '1',
2569
2584
CLIENT: 'fetch',
2570
2585
WITH_CREDENTIALS: false,
2571
- TOKEN: '',
2586
+ TOKEN: ''
2572
2587
};"
2573
2588
`;
2574
2589
@@ -2753,13 +2768,20 @@ export async function request(options: Readonly<RequestOptions>): Promise<Result
2753
2768
}
2754
2769
}
2755
2770
2771
+
2772
+ // Pre-hook on request if a function is provided.
2773
+ const requestToSend = OpenAPI.REQUEST_HOOK ? (await OpenAPI.REQUEST_HOOK(request)) : request;
2774
+
2756
2775
try {
2776
+ let response: Result;
2757
2777
switch (OpenAPI.CLIENT) {
2758
2778
case 'xhr':
2759
- return await requestUsingXHR(url, request, options.responseHeader);
2779
+ response = await requestUsingXHR(url, request, options.responseHeader);
2760
2780
default:
2761
- return await requestUsingFetch(url, request, options.responseHeader);
2781
+ response = await requestUsingFetch(url, request, options.responseHeader);
2762
2782
}
2783
+ // If there is a response hook, call it
2784
+ return OpenAPI.RESPONSE_HOOK ? OpenAPI.RESPONSE_HOOK(response) : response;
2763
2785
} catch (error) {
2764
2786
return {
2765
2787
url,
0 commit comments