Manejo de Errores
GoPotency le permite personalizar completamente las respuestas de error devueltas cuando algo sale mal (ej. falta una clave, discrepancia en la petición o error de almacenamiento).
Personalización de Respuestas de Error
Sección titulada «Personalización de Respuestas de Error»Por defecto, GoPotency devuelve mensajes de error en texto plano. Puede cambiar este comportamiento proporcionando un ErrorHandler en la estructura idempotency.Config.
Ejemplo de Error JSON
Sección titulada «Ejemplo de Error JSON»Esto es útil para devolver objetos de error JSON consistentes en toda su API.
manager, err := idempotency.NewManager(idempotency.Config{ Storage: store, ErrorHandler: func(err error) (int, any) { // Devuelve un 400 Bad Request con un cuerpo JSON return http.StatusBadRequest, map[string]string{ "error": "idempotency_error", "message": err.Error(), } },})Cómo Funciona
Sección titulada «Cómo Funciona»El ErrorHandler es una función con la siguiente firma:
func(err error) (statusCode int, body any)statusCode: El código de estado HTTP que se enviará al cliente.body: Los datos que se serializarán como el cuerpo de la respuesta. Si usa Gin, esto puede ser ungin.Ho un struct. Si usa HTTP estándar, se convertirá a JSON.