doIsolateRequest method
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);
}