1 puntos por GN⁺ 2023-10-17 | 1 comentarios | Compartir por WhatsApp
  • Artículo sobre las mejoras en la capacidad de coincidencia de patrones del multiplexor HTTP básico para serving dentro del paquete net/http de Go 1.22
  • El multiplexor anterior (http.ServeMux) ofrecía coincidencia básica de rutas, por lo que era necesario usar bibliotecas de terceros para funciones avanzadas
  • El nuevo multiplexor de Go 1.22 ofrece coincidencias avanzadas y reduce la brecha con los paquetes de terceros
  • El nuevo multiplexor (mux) permite especificar explícitamente métodos HTTP como parte del patrón y admite coincidencia con comodines en los componentes de la ruta
  • El artículo ofrece ejemplos de uso del nuevo mux, incluyendo el manejo de posibles conflictos entre distintos patrones
  • La nueva documentación de ServeMux explica las reglas de prioridad para los patrones y los posibles conflictos
  • El artículo también retoma ejemplos de una serie sobre servidores REST en Go y compara cómo se comporta el nuevo mux de la stdlib frente a gorilla/mux
  • El nuevo mux de Go 1.22 permite un enrutamiento más sofisticado, reduciendo la necesidad de tomar decisiones de enrutamiento dentro de los handlers
  • El autor cree que las mejoras de Go 1.22 cambiarán la respuesta habitual a la pregunta: "¿Qué paquete de router debería usar?" Muchas personas pensarán que el nuevo mux de la stdlib es suficiente para sus necesidades
  • Sin embargo, algunos programadores de Go todavía pueden preferir paquetes de terceros o frameworks ligeros como Gin. Estos ofrecen herramientas adicionales para el router y para construir backends web
  • En general, el autor considera las mejoras de Go 1.22 como un cambio positivo para todos los usuarios de Go, haciendo que la biblioteca estándar sea más capaz y beneficiosa para toda la comunidad

1 comentarios

 
GN⁺ 2023-10-17
Comentarios de Hacker News
  • Artículo sobre el nuevo enrutamiento del servidor HTTP en Go 1.22.
  • A algunos usuarios les cuesta entender el pánico que ocurre cuando coinciden dos rutas; la mayoría de los frameworks web usan la primera ruta registrada que coincida.
  • El archivado y desarchivado del proyecto gorrila/mux genera confusión, aunque algunos lo ven como una prueba de la estabilidad de los proyectos de código abierto.
  • Críticas a la sintaxis propuesta: algunas personas sugieren usar argumentos reales en lugar de generar cadenas mágicas para definir handlers.
  • Hay usuarios a quienes no les gusta el uso de prefijos de método convertidos en cadenas y prefieren la seguridad de tipos de métodos específicos por verbo.
  • Curiosidad sobre qué ocurre cuando una ruta coincide pero el método no; la respuesta es 405 con el encabezado Allow completado correctamente.
  • Se sugiere que los usuarios con requisitos avanzados no usen el sub-mux base y consideren otras opciones o escriban su propio router.
  • Algunos prefieren que las rutas superpuestas coincidan según el orden en que fueron definidas, en lugar de provocar un pánico.
  • Hay usuarios a quienes no les gusta la propuesta, en especial incluir el método de solicitud HTTP en el URI.
  • Críticas al ServeMux predeterminado, que maneja todo cuando la dirección es un prefijo; no hay una forma sencilla de manejar coincidencias exactas.
  • Sin embargo, algunos usuarios ven el nuevo enrutamiento como un cambio positivo, ya que reduce dependencias externas y mejora la productividad.