Skip to content

Commit c5a6c97

Browse files
feat: Make requestTimeout configurable
Co-authored-by: Alois Klink <[email protected]>
1 parent 1e0f33c commit c5a6c97

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

packages/sdk/src/index.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import { URLS } from './urls.js';
1616

1717
const defaultBaseURL = 'https://www.mermaidchart.com'; // "http://127.0.0.1:5174"
1818
const authorizationURLTimeout = 60_000;
19-
const requestTimeout = 30_000;
2019

2120
export class MermaidChart {
2221
private clientID: string;
@@ -26,13 +25,17 @@ export class MermaidChart {
2625
private pendingStates: Record<string, AuthState> = {};
2726
private redirectURI!: string;
2827
private accessToken?: string;
28+
private requestTimeout = 30_000;
2929

30-
constructor({ clientID, baseURL, redirectURI }: InitParams) {
30+
constructor({ clientID, baseURL, redirectURI, requestTimeout }: InitParams) {
3131
this.clientID = clientID;
3232
this.setBaseURL(baseURL || defaultBaseURL);
3333
if (redirectURI) {
3434
this.setRedirectURI(redirectURI);
3535
}
36+
if (requestTimeout) {
37+
this.requestTimeout = requestTimeout;
38+
}
3639
}
3740

3841
public setRedirectURI(redirectURI: string) {
@@ -53,7 +56,7 @@ export class MermaidChart {
5356
});
5457
this.axios = defaultAxios.create({
5558
baseURL: this.#baseURL,
56-
timeout: requestTimeout,
59+
timeout: this.requestTimeout,
5760
});
5861

5962
this.axios.interceptors.response.use((res: AxiosResponse) => {

packages/sdk/src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ export interface InitParams {
22
clientID: string;
33
redirectURI?: string;
44
baseURL?: string;
5+
requestTimeout?: number;
56
}
67

78
export interface OAuthAuthorizationParams {

0 commit comments

Comments
 (0)