AppClientsWeb constructor

AppClientsWeb({
  1. required bool requiredToken,
  2. bool isAuthorizationCustom = false,
  3. String? token,
  4. String? baseUrl,
  5. bool enableErrorHandler = true,
  6. BaseOptions? options,
})

Implementation

factory AppClientsWeb(
    {required bool requiredToken,
    bool isAuthorizationCustom = false,
    String? token,
    String? baseUrl,
    bool enableErrorHandler = true,
    BaseOptions? options}) {
  _enableErrorHandler = enableErrorHandler;

  _instance ??=
      AppClientsWeb._(baseUrl: baseUrl ?? arckipelbaseUrl, options: options);
  if (options != null) _instance!.options = options;
  _instance!.options.baseUrl = baseUrl ?? arckipelbaseUrl;
  (_instance!.transformer as DefaultTransformer).jsonDecodeCallback =
      parseJson;
  if ((token == null || token.isEmpty)) {
    if (requiredToken) {
      _logger.w('Request RequiredToken but your token is null!');
    }
    _instance!.options.headers.remove(r'Authorization');
  } else if (requiredToken) {
    _instance!.options.headers.addAll({
      r'Authorization': isAuthorizationCustom ? token : ('Bearer $token')
    });
  }
  _logger.d("Header: ${_instance!.options.headers}");
  _instance!.options.headers.addAll({
    "Access-Control-Allow-Origin": "*",
    "Access-Control-Allow-Credentials": true,
    "Access-Control-Allow-Headers":
        "Origin,Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,locale",
    "Access-Control-Allow-Methods": "POST, OPTIONS"
  });
  return _instance!;
}