showing results for - "flutter cache json"
Lola
21 Nov 2020
1import 'package:dio/dio.dart';
2
3class CacheInterceptor extends Interceptor {
4  CacheInterceptor();
5
6  var _cache = new Map<Uri, Response>();
7
8  @override
9  onRequest(RequestOptions options) async {
10    return options;
11  }
12
13  @override
14  onResponse(Response response) async {
15    _cache[response.request.uri] = response;
16  }
17
18  @override
19  onError(DioError e) async{
20    print('onError: $e');
21    if (e.type == DioErrorType.CONNECT_TIMEOUT || e.type == DioErrorType.DEFAULT) {
22      var cachedResponse = _cache[e.request.uri];
23      if (cachedResponse != null) {
24        return cachedResponse;
25      }
26    }
27    return e;
28  }
29}
similar questions
flutter print json