Baseflow / Baseflow/flutter_cache_manager
Respect must-revalidate cache-control header
- Lingua principale
- Dart
- Stelle
- 809
- Fork
- 510
- Merge medio
- 6m
- PR unite (30g)
- 1
Descrizione
I've been using flutter_cache_manager within my application and, in general, it's been a life saver for me. So please allow me to start by thanking the team for working on this plugin!
That said, I've been troubleshooting some unexpected behavior in my application, and I think I've tracked it down to this line within getSingleFile():
https://github.com/Baseflow/flutter_cache_manager/blob/7ef4334c84bca6d4ab869e7bae7eddf6402a42f0/flutter_cache_manager/lib/src/cache_manager.dart#L86
If I'm reading this correctly, getSingleFile() will prefer to return a file from the cache _even if that file has expired_ per the test on line 83. Is that correct behavior? In my API server, I am returning `Cache-Control: max-age=900` with the expectation that user agents will never display content which has expired without re-fetching it first.
Is this a bug or is this expected behavior?
It doesn't look like flutter_cache_manager respects `must-revalidate` either, so do you have a recommendation on how I could accomplish the behavior I'm looking for?
Thanks again!
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inspect lib/src/cache_manager.dart around lines 83-86 and trace how response cache headers affect expired cached files. Confirm the intended handling of max-age and must-revalidate, then verify the resulting behavior with the relevant cache-manager tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- dart, flutter
- Ambito
- mobile
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100