ApiController constructor

ApiController()

Implementation

ApiController() {
  dio = Dio(
    BaseOptions(
      baseUrl: CoreConstants.apiBaseUrlKey,
      connectTimeout: Duration(milliseconds: CoreConstants.connectTimeoutMs ?? 30000),
      receiveTimeout: Duration(milliseconds: CoreConstants.receiveTimeoutMs ?? 30000),
      headers: {
        'Content-Type': 'application/json',
        'accept': 'application/json',
      },
    ),
  );

  dio.interceptors.add(
    InterceptorsWrapper(
      onRequest: (options, handler) async {
        SharedPreferences prefs = await SharedPreferences.getInstance();
        await prefs.reload();
        String? token = CoreConstants.accessTokenKey;
        if (token.isNotEmpty) {
          options.headers['Authorization'] = 'Bearer $token';
        }
        return handler.next(options);
      },
    ),
  );
}