Add Cache Purge Support
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza con stubs/wit_world/imports/purge.py y la documentación de Fastly Cache Purging. Define la API de purge basada en funciones y el comportamiento de PurgeOptions descritos en el issue, incluida la validación y el análisis detallado de la respuesta; después, añade pruebas de wrapper para esos casos y cobertura xfail para la funcionalidad que requiere ejecutar realmente el purge.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Overview
Add support for Fastly's Cache Purge API, enabling surrogate key-based cache invalidation.
WIT Interface
interface purge {
use types.{error};
resource extra-purge-options;
record purge-options {
soft-purge: bool,
extra: option<borrow<extra-purge-options>>,
}
purge-surrogate-key: func(surrogate-keys: string, purge-options: purge-options) -> result<_, error>;
purge-surrogate-key-verbose: func(surrogate-keys: string, purge-options: purge-options, max-len: u64) -> result<string, error>;
}
WIT bindings: stubs/wit_world/imports/purge.py
API Design
- Simple function-based API:
purge_surrogate_key(keys, soft=False) - Optional verbose version:
purge_surrogate_key_verbose(keys, soft=False)returns purge ID PurgeOptionsdataclass withsoft_purgeboolean flag- Support single or space-separated multiple surrogate keys (max 1024 chars per key)
- Return purge ID (JSON response) for verbose variant
Cross-SDK Comparison: All SDKs expose simple function-based API: purge_surrogate_key(key). Straightforward across all languages with similar semantics.
Viceroy Testing
Cache purge operations in Viceroy are likely stubbed or no-op. Tests should focus on:
- API wrapper behavior (parameter validation, error handling)
- Response parsing for verbose variant
- Use
xfailmarkers for functionality requiring actual purge execution
The purge API primarily validates input and returns success without actually purging in local testing.
Reference
- Lenguaje dominante
- Python
- Estrellas
- 5
- Forks
- 1
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de fastly/compute-sdk-python
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
fastly/compute-sdk-python#116 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
fastly/compute-sdk-python#98 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
fastly/compute-sdk-python#74 ·
-
Add HTTP Downstream Metadata API Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
fastly/compute-sdk-python#61 ·
-
fastly/compute-sdk-python#60 · 1 asignado ·
Todos los issues de fastly/compute-sdk-python
Issues similares
-
bug confirmed issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
open-webui/open-webui#30750 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100