doIsolateRequest method

Future<Validation> doIsolateRequest()

Esegue la richiesta in un isolate. Se è stata impostata la cache tramite useCache tenta di recuperare il valore dalla cache. Se non esiste, esegue la chiamata e poi salva il valore nella cache usando come id l'url della chiamata.

Implementation

Future<Validation> doIsolateRequest ()
{
  var uri = getUri();
  var cacheId = uri.toString();
  var request = () => RequestX._isolateRequest(uri: uri, getResponseBytes: _getResponseBytes,  requestMethod: _method, headers: _headers, timeout: _timeout, jsonBody: _jsonBody).start();

  // La useCache sarà il valore impostato se è una get, false in tutti gli altri casi
  var useCache = _method == RequestMethod.get
                    ? _useCache
                    : false;

  _printLog(useCache);

  if (!useCache)
  {
    return request();
  }

  return SingletonHttpCacheManager().getCacheOrDoRequest(request, cacheId, _cacheDuration);
}