1
- import { v4 as uuid } from 'uuid' ;
2
1
import { OAuth2Client , generateCodeVerifier } from '@badgateway/oauth2-client' ;
3
- import defaultAxios from 'axios' ;
4
2
import type { AxiosInstance , AxiosResponse } from 'axios' ;
5
- import { RequiredParameterMissingError , OAuthError } from './errors.js' ;
6
- import { URLS } from './urls.js' ;
3
+ import defaultAxios from 'axios' ;
4
+ import { v4 as uuid } from 'uuid' ;
5
+ import { OAuthError , RequiredParameterMissingError } from './errors.js' ;
7
6
import type {
8
7
AuthState ,
8
+ AuthorizationData ,
9
9
Document ,
10
10
InitParams ,
11
- AuthorizationData ,
12
- MCUser ,
13
- MCProject ,
14
11
MCDocument ,
12
+ MCProject ,
13
+ MCUser ,
15
14
} from './types.js' ;
15
+ import { URLS } from './urls.js' ;
16
16
17
17
const defaultBaseURL = 'https://www.mermaidchart.com' ; // "http://127.0.0.1:5174"
18
18
const authorizationURLTimeout = 60_000 ;
@@ -25,13 +25,17 @@ export class MermaidChart {
25
25
private pendingStates : Record < string , AuthState > = { } ;
26
26
private redirectURI ! : string ;
27
27
private accessToken ?: string ;
28
+ private requestTimeout = 30_000 ;
28
29
29
- constructor ( { clientID, baseURL, redirectURI } : InitParams ) {
30
+ constructor ( { clientID, baseURL, redirectURI, requestTimeout } : InitParams ) {
30
31
this . clientID = clientID ;
31
32
this . setBaseURL ( baseURL || defaultBaseURL ) ;
32
33
if ( redirectURI ) {
33
34
this . setRedirectURI ( redirectURI ) ;
34
35
}
36
+ if ( requestTimeout ) {
37
+ this . requestTimeout = requestTimeout ;
38
+ }
35
39
}
36
40
37
41
public setRedirectURI ( redirectURI : string ) {
@@ -52,6 +56,7 @@ export class MermaidChart {
52
56
} ) ;
53
57
this . axios = defaultAxios . create ( {
54
58
baseURL : this . #baseURL,
59
+ timeout : this . requestTimeout ,
55
60
} ) ;
56
61
57
62
this . axios . interceptors . response . use ( ( res : AxiosResponse ) => {
0 commit comments