Baseflow / Baseflow/flutter_cache_manager

Respect must-revalidate cache-control header

Abierto
#275 2 comentarios 0 reacciones 0 asignados Ver en GitHub
type: enhancement
Lenguaje dominante
Dart
Estrellas
809
Forks
510
Merge medio
6 min
PR fusionados (30 d)
1

Descripción

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!

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Inspecciona lib/src/cache_manager.dart alrededor de las líneas 83-86 y sigue cómo las cabeceras de caché de las respuestas afectan a los archivos almacenados en caché que han expirado. Confirma el tratamiento previsto de max-age y must-revalidate y, después, verifica el comportamiento resultante con las pruebas relevantes de cache-manager.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
dart, flutter
Área
mobile
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.