putData2 method

Future<Response> putData2(
  1. String uri,
  2. dynamic body, {
  3. Map<String, dynamic>? query,
  4. String contentType = '',
  5. Map<String, String>? headers,
  6. dynamic decoder(
    1. dynamic
    )?,
  7. dynamic uploadProgress(
    1. double
    )?,
})

Implementation

Future<Response> putData2(String uri, dynamic body,
    {Map<String, dynamic>? query,
    String contentType = '',
    Map<String, String>? headers,
    Function(dynamic)? decoder,
    Function(double)? uploadProgress}) async {
  if (await ApiChecker.isVpnActive()) {
    return const Response(statusCode: -1, statusText: 'you are using vpn');
  }
  {
    try {
      await getApiToken();
      logCat('====> GetX Call: $uri');
      logCat('====> GetX Body: $body');
      http.Response response0 = await http
          .put(
            Uri.parse(appBaseUrl + uri),
            body: jsonEncode(body),
            headers: headers ?? _mainHeaders,
          )
          .timeout(Duration(seconds: timeoutInSeconds));
      Response response = handleResponse(response0, uri);
      if (foundation.kDebugMode) {
        logCat(
            '====> API Response: [${response.statusCode}] $uri\n${response.body}');
      }
      return response;
    } catch (e) {
      return Response(statusCode: 1, statusText: noInternetMessage);
    }
  }
}