Skip to content

Commit 42409ac

Browse files
author
naman-contentstack
committed
feat: add delay config via interceptor
1 parent 97a389d commit 42409ac

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

lib/core/contentstackHTTPClient.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,12 @@ export default function contentstackHttpClient (options) {
109109
const instance = axios.create(axiosOptions)
110110
instance.httpClientParams = options
111111
instance.concurrencyQueue = new ConcurrencyQueue({ axios: instance, config })
112-
instance.interceptors.request.use((request) => {
112+
instance.interceptors.request.use(async (request) => {
113+
// Add configurable delay before making the request if specified
114+
if (config?.delayMs > 0) {
115+
await new Promise(resolve => setTimeout(resolve, config.delayMs))
116+
}
117+
113118
if (request.versioningStrategy && request.versioningStrategy === 'path') {
114119
request.baseURL = request.baseURL.replace('{api-version}', version)
115120
} else {

types/contentstackClient.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export interface ContentstackConfig extends AxiosRequestConfig, ContentstackToke
4545
logHandler?: (level: string, data: any) => void
4646
application?: string
4747
integration?: string
48+
delayMs?: number
4849
}
4950

5051
export interface LoginDetails {

0 commit comments

Comments
 (0)