POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Gonk MVP Finalizado

Gonk: framework HTTP minimalista en Go para entender el manejo de solicitudes y construir backends robustos

Publicado el 07/09/2025

Que es Gonk

Gonk es un proyecto personal que forma parte de una iniciativa de cuatro entregas. Se trata de un framework HTTP minimalista para Go construido sobre la libreria estandar net/http. Incluye enrutamiento, middleware y utilidades para trabajar con JSON, con el objetivo de aprender a fondo como maneja Go las solicitudes HTTP y, al mismo tiempo, disponer de una base solida para servicios backend y aplicaciones a medida.

Que se ha completado desde la parte uno

Gonk ya llego a un MVP totalmente funcional. Ademas de las rutas para GET, ahora soporta POST, PATCH, PUT, DELETE, HEAD y OPTIONS. La cadena de middleware incluye CORS, registro de peticiones en formato JSON, recuperacion ante panicos y asignacion de identificadores de solicitud X-Request-Id.

Middleware y objetivos

El enfoque fue mantener la simplicidad. El objetivo no era replicar toda la sofisticacion de un framework popular, sino comprender que piezas son realmente necesarias y por que. Por eso cada middleware es claro, acotado y facil de componer.

Request ID

Cada peticion lleva un X-Request-Id. Si llega uno valido, se reutiliza; si no, se genera un identificador nuevo como cadena hexadecimal de 16 bytes. Este ID se expone en la respuesta y se guarda en el contexto para que otros componentes, como el logger, lo recuperen sin friccion.

Logger

El registro se emite en JSON para facilitar la observabilidad y la ingestion en herramientas SIEM. Por cada solicitud se guardan campos como metodo, ruta, bytes escritos, latencia, estado, request_id, ip remota y user agent. Con esto se obtiene una trazabilidad limpia y apta para produccion.

Recuperacion ante panico

Para que un error inesperado no tumbe el servidor, el middleware superior captura cualquier panico, registra el incidente con traza de pila para diagnostico interno y responde al cliente con un 500 Internal Server Error en JSON bien formado. Nada de trazas filtradas por HTTP ni caidas completas del proceso.

CORS

El CORS es configurable. En desarrollo se puede permitir cualquier origen y en produccion se restringen dominios concretos. Se gestionan solicitudes simples y preflight OPTIONS, evitando patrones inseguros como combinar asterisco con Allow-Credentials true, que el navegador no admite y que podria abrir brechas de seguridad.

Utilidades JSON

Para reducir la verbosidad, se incluyen helpers que estandarizan la experiencia. WriteJSON serializa datos, ajusta cabeceras y escribe el estado. WriteError devuelve una forma consistente con la clave error. DecodeJSON hace parseo estricto, rechazando campos desconocidos, cuerpos vacios o multiples valores JSON, y retorna errores tipados. StatusFromDecodeError traduce dichas condiciones a codigos HTTP adecuados como 400 para entrada invalida, 413 para cuerpo demasiado grande o 422 para desajustes de tipos.

Decisiones de diseno

La prioridad fue una API sencilla y ergonomica apoyada al maximo en net/http, incluido http.ServeMux. Esto permitio avanzar rapido y aprender con claridad como fluye el ciclo de vida de una solicitud en Go. La experiencia fue valiosa para entender a bajo nivel TCP, HTTP y el servidor estandar.

Reflexiones finales

El proyecto reafirmo el gusto por Go y ayudo a interiorizar el por que de las cosas, no solo el como. En una futura version 2.0 me encantaria profundizar aun mas, escribiendo un enrutador propio y, quiza, minimizando la dependencia de net/http para aprender desde mas abajo. No obstante, no hay arrepentimientos con la arquitectura actual y lo siguiente en la agenda es el modulo de almacenamiento de datos.

Como encaja esto con Q2BSTUDIO

En Q2BSTUDIO construimos plataformas y microservicios robustos con enfoques similares al de Gonk para entregar software a medida escalable, seguro y mantenible. Si tu empresa busca impulsar su producto digital con aplicaciones a medida y acelerar su time to market, nuestro equipo puede ayudarte desde el backend hasta la experiencia de usuario, integrando despliegues modernos y buenas practicas de observabilidad.

Especialidades que suman valor

Combinamos arquitectura backend con inteligencia artificial para ia para empresas y agentes IA, reforzamos la ciberseguridad con auditorias y hardening, y operamos en servicios cloud aws y azure. Tambien impulsamos la toma de decisiones con servicios inteligencia de negocio y cuadros de mando en power bi, y optimizamos flujos con automatizacion de procesos. Si quieres transformar tu idea en realidad con software a medida, hablemos.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio