Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Proposal to support all platforms (including web) while emulating browser caching behavior

Abierto
#462 4 comentarios 8 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
22/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
dart, flutter

Línea de trabajo

Comienza leyendo el proyecto http_get_cache enlazado y las referencias de la propuesta a Drift, sqflite y fetch_client. Compara el comportamiento previsto de Cache-Control, ETag, Last-Modified, la revalidación, la expulsión y el almacenamiento de la plataforma; después, verifica que las plataformas nativas y web estén cubiertas por pruebas para el comportamiento esperado del navegador.

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

Descripción

🏗 Enhancement Proposal

I recently was able to support all native platforms and web with an emulation of how the browser works with saving, revalidating and evicting cache.

https://github.com/rodydavis/http_get_cache

The goal is to support the same way the browser does caching:

  • Cache-Control, eTag, Last-Modified headers
  • max-age, stale-while-revalidate, stale-if-error, only-if-cached
  • Support fetching content updates with head requests for non immutable objects and only after stale and 304 response meaning no update
  • Support skipping cache with request headers: no-cache
  • Support preventing storing with: no-store
  • Use platform cache directory for stored files and database in documents
Pitch
  • Update core logic to use Drift instead of sqflite to support all native platforms
  • Web will use the fetch_client package and work with browser caching
  • New http client for wrapping network requests
  • Add tests to test for expected browser behavior
Platforms affected (mark all that apply)
  • 📱 iOS
  • 🤖 Android
  • [+] MacOS
  • [+] Windows
  • [+] Linux
  • [+] Web
  • [+] Dart native
Lenguaje dominante
Dart
Estrellas
810
Forks
510
Merge medio
2 d 2 h
PR fusionados (30 d)
11

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Baseflow/flutter_cache_manager

Todos los issues de Baseflow/flutter_cache_manager

Issues similares

Más issues de Dart

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.