patchHttpCustom method

dynamic patchHttpCustom(
  1. dynamic url,
  2. dynamic body
)

Implementation

patchHttpCustom(url, body) async {
  var URL = Uri.parse(url);

  Map<String, String> headers = await nGetHeader;

  try {
    var response = await http.patch(
      URL,
      body: body,
      headers: headers,
    );
    int responseCode = response.statusCode;
    if (responseCode > 199 && responseCode <= 299) {
      return response;
    } else {
      String msg = '';
      try {
        msg = jsonDecode(response.body)['message'].toString();
      } catch (e) {
        msg = jsonDecode(response.body);
      }
      try {
        if (nCheckTokenExpired) {
          if (msg == 'Unauthorized') {
            bool isRefreshCompleted = await nRefreshToken;
            if (isRefreshCompleted) {
              return patchHttpCustom(url, body);
            } else {
              nOnTokenNotRefresh();
            }
          } else {
            return Response(
                body: jsonEncode({
              "message": msg,
              "success": false,
              "responseCode": responseCode,
              "urlRequest": '$nBaseUrl/$url',
            }));
          }
        } else {
          return Response(
              body: jsonEncode({
            "message": msg,
            "success": false,
            "responseCode": responseCode,
            "urlRequest": '$nBaseUrl/$url',
          }));
        }
      } catch (e) {
        return Response(
            body: jsonEncode({
          "message": msg,
          "success": false,
          "responseCode": responseCode,
          "urlRequest": '$nBaseUrl/$url',
        }));
      }
    }
  } catch (e) {
    return Response(
        body: jsonEncode({
      "message": "catch --$e",
      "success": false,
      "responseCode": 151515115,
      "urlRequest": '$url',
    }));
  }
}