From 0dac40c65f05582682655041d82504debb757397 Mon Sep 17 00:00:00 2001 From: nithipud <> Date: Sat, 21 Jan 2023 21:47:39 +0700 Subject: [PATCH 1/2] cache + revalidate --- src/templates/client.hbs | 2 ++ src/templates/core/OpenAPI.hbs | 4 ++++ src/templates/core/fetch/sendRequest.hbs | 10 ++++++++++ 3 files changed, 16 insertions(+) diff --git a/src/templates/client.hbs b/src/templates/client.hbs index 601f27d8f..9b5a70bf1 100644 --- a/src/templates/client.hbs +++ b/src/templates/client.hbs @@ -70,6 +70,8 @@ export class {{{clientName}}} { PASSWORD: config?.PASSWORD, HEADERS: config?.HEADERS, ENCODE_PATH: config?.ENCODE_PATH, + REVALIDATE: config?.REVALIDATE, + CACHE: config?.CACHE, }); {{#each services}} diff --git a/src/templates/core/OpenAPI.hbs b/src/templates/core/OpenAPI.hbs index 19e66fbf1..7c326db9c 100644 --- a/src/templates/core/OpenAPI.hbs +++ b/src/templates/core/OpenAPI.hbs @@ -15,6 +15,8 @@ export type OpenAPIConfig = { PASSWORD?: string | Resolver; HEADERS?: Headers | Resolver; ENCODE_PATH?: (path: string) => string; + REVALIDATE?: number; + CACHE?: string; }; export const OpenAPI: OpenAPIConfig = { @@ -27,4 +29,6 @@ export const OpenAPI: OpenAPIConfig = { PASSWORD: undefined, HEADERS: undefined, ENCODE_PATH: undefined, + REVALIDATE: undefined, + CACHE: undefined, }; diff --git a/src/templates/core/fetch/sendRequest.hbs b/src/templates/core/fetch/sendRequest.hbs index 73f71f428..a51e4beae 100644 --- a/src/templates/core/fetch/sendRequest.hbs +++ b/src/templates/core/fetch/sendRequest.hbs @@ -20,6 +20,16 @@ export const sendRequest = async ( request.credentials = config.CREDENTIALS; } + if (config.REVALIDATE) { + request.next = { + revalidate: config.REVALIDATE, + }; + } + + if (config.CACHE) { + request.cache = config.CACHE; + } + onCancel(() => controller.abort()); return await fetch(url, request); From 60afd8ca9742d93c4e9e8ef07553c8c0cc59b340 Mon Sep 17 00:00:00 2001 From: nithipud <> Date: Sat, 21 Jan 2023 22:00:37 +0700 Subject: [PATCH 2/2] fix cache --- src/templates/core/OpenAPI.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templates/core/OpenAPI.hbs b/src/templates/core/OpenAPI.hbs index 7c326db9c..e7518abec 100644 --- a/src/templates/core/OpenAPI.hbs +++ b/src/templates/core/OpenAPI.hbs @@ -16,7 +16,7 @@ export type OpenAPIConfig = { HEADERS?: Headers | Resolver; ENCODE_PATH?: (path: string) => string; REVALIDATE?: number; - CACHE?: string; + CACHE?: RequestCache; }; export const OpenAPI: OpenAPIConfig = {