initialize static method

Future<void> initialize(
  1. BaasConfig config
)

Implementation

static Future<void> initialize(BaasConfig config) async {
  if (_instance != null) return;

  final api = BaasApi._internal(config);
  api._cookieJar = CookieJar();

  api._dio.interceptors.add(InterceptorsWrapper(
    onRequest: (options, handler) async {
      final prefs = await SharedPreferences.getInstance();
      final token = prefs.getString('baas_token');

      if (token != null && token.isNotEmpty) {
        options.headers['Authorization'] = 'Bearer $token';
      }

      print("REQUEST → ${options.method} ${options.uri}");
      handler.next(options);
    },
    onError: (err, handler) {
      print("DIO ERROR: ${err.message}");
      if (err.response != null) {
        print("ERROR DATA: ${err.response?.data}");
      }
      handler.next(err);
    },
  ));

  api._dio.interceptors.add(CookieManager(api._cookieJar!));
  _instance = api;
}