hurshi / dio-http-cache

http cache lib for Flutter dio like RxCache
Apache License 2.0
274 stars 223 forks source link

Make DioCacheManager._buildResponse() non-private #85

Open slavap opened 3 years ago

slavap commented 3 years ago

@hurshi After accepting https://github.com/hurshi/dio-http-cache/pull/84

Please add the following minor changes:

Make DioCacheManager._buildResponse() non-private and async (make it protected), with changed to RequestInterceptorHandler it is currently too hard to adjust cached data additionally in DioCacheManager descendants.

@protected
Future<Response> buildResponse(CacheObj obj, int statusCode, RequestOptions options) async {
}

And add await in two places of DioCacheManager where buildResponse() called.

It is proper change for new handler based structure. Example: there are some data in cache and they are still valid, but some headers and cookies are changed, so I need just slightly adjust Response without discarding the cache. So I have descendant which manages this after data returned from the cache.

franticn commented 3 years ago

Thanks for your commit, I will review this change on a non-working day, please be patient.

franticn commented 3 years ago

@slavap After reviewing your change, I found that we need to upgrade to Dio 4 to support these, so the feature for support flutter 2.0 and null-safety maybe need to be advanced in advance.

slavap commented 3 years ago

@franticn yes, that’s what I said in the opening description, Dio 4 and null safety PR must be accepted first.

slavap commented 3 years ago

@franticn Please add this change, needed PR in already merged.