1515 */
1616package com .webull .openapi .core .http .initializer ;
1717
18+ import com .google .api .client .util .Lists ;
1819import com .webull .openapi .core .common .Region ;
20+ import com .webull .openapi .core .execption .ClientException ;
21+ import com .webull .openapi .core .execption .ErrorCode ;
22+ import com .webull .openapi .core .http .HttpApiClient ;
23+ import com .webull .openapi .core .http .initializer .config .ConfigService ;
24+ import com .webull .openapi .core .http .initializer .config .bean .ApiConfig ;
25+ import com .webull .openapi .core .http .initializer .token .TokenManager ;
1926import com .webull .openapi .core .logger .Logger ;
2027import com .webull .openapi .core .logger .LoggerFactory ;
2128import com .webull .openapi .core .utils .StringUtils ;
22- import com .webull .openapi .core .http .HttpApiClient ;
23- import com .webull .openapi .core .http .initializer .token .TokenManager ;
2429
2530import java .util .ArrayList ;
2631import java .util .List ;
@@ -44,7 +49,14 @@ public static void init(HttpApiClient apiClient){
4449 */
4550 private static void initToken (HttpApiClient apiClient ){
4651
47- if (!checkRegionTokenEnable (apiClient )){
52+ List <String > disableConfigRegionIds = new ArrayList <>();
53+ disableConfigRegionIds .add (Region .hk .name ());
54+ String regionId = Objects .nonNull (apiClient ) && Objects .nonNull (apiClient .getConfig ()) ? apiClient .getConfig ().getRegionId () : null ;
55+ if (disableConfigRegionIds .contains (regionId )){
56+ if (!checkRegionTokenEnable (apiClient )){
57+ return ;
58+ }
59+ }else if (!checkTokenEnable (apiClient )){
4860 return ;
4961 }
5062
@@ -81,4 +93,28 @@ private static boolean checkRegionTokenEnable(HttpApiClient apiClient){
8193 logger .info ("CheckRegionTokenEnable result is {}, enable regionIds is {}." , result , enableRegionIds );
8294 return result ;
8395 }
96+
97+ /**
98+ * Check whether token checking is enabled
99+ * @param apiClient
100+ * @return
101+ */
102+ private static boolean checkTokenEnable (HttpApiClient apiClient ){
103+ if (Objects .isNull (apiClient )){
104+ logger .warn ("checkTokenEnable apiClient is null return false" );
105+ return false ;
106+ }
107+
108+ ConfigService configService = new ConfigService (apiClient );
109+ ApiConfig apiConfig = configService .getConfig ();
110+ if (Objects .isNull (apiConfig )){
111+ String msg = "checkTokenEnable apiConfig is null error." ;
112+ logger .warn (msg );
113+ throw new ClientException (ErrorCode .GET_CONFIG_ERROR , msg );
114+ }
115+
116+ boolean result = Boolean .TRUE .equals (apiConfig .getTokenCheckEnabled ());
117+ logger .info ("checkTokenEnable result is {}" , result );
118+ return result ;
119+ }
84120}
0 commit comments