completeRequest method

void completeRequest(
  1. RequestModel requestModel
)

Implementation

void completeRequest(RequestModel requestModel) {
  if (!isLogEnabled) return;
  requestModel.endTime = DateTime.now().millisecondsSinceEpoch;
  requestModel.responseTime =
      (requestModel.endTime ?? 0) - (requestModel.startTime ?? 0);
  // requestModel.responseContentLength =calcContentLength(headers)
  try {
    final json = StringUtils.convertStringToObject(requestModel.response);
    requestModel.isSuccess ??= valueFromResponse.checkApiSuccess
            ?.call(json, url: requestModel.url) ??
        true;
    final errorCode = valueFromResponse.getErrorCode?.call(json);
    if (isNotNullOrEmpty(errorCode)) {
      requestModel.responseCodeTitle = errorCode!.key;
      requestModel.responseCode = errorCode.value;
    }
    if (requestModel.isSuccess == false) {
      requestModel.message ??=
          valueFromResponse.getErrorMessage?.call(json) ?? "";
    }
  } catch (e, s) {
    Completer().completeError(e, s);
  } finally {
    fireEvent();
    mapsRequest.removeWhere(
      (key, value) => value == requestModel,
    );
  }
}