1 pontos por GN⁺ 2023-10-17 | 1 comentários | Compartilhar no WhatsApp
  • Artigo sobre os aprimoramentos no recurso de correspondência de padrões do multiplexador padrão de servidores HTTP no pacote net/http do Go 1.22
  • O multiplexador existente (http.ServeMux) oferecia correspondência básica de rotas, exigindo o uso de bibliotecas de terceiros para recursos avançados
  • O novo multiplexador do Go 1.22 oferece correspondência avançada, reduzindo a diferença em relação aos pacotes de terceiros
  • O novo multiplexador (mux) permite especificar explicitamente métodos HTTP como parte do padrão e oferece suporte a correspondência com curingas nos componentes do caminho
  • O artigo apresenta exemplos de uso do novo mux, incluindo o tratamento de possíveis conflitos entre diferentes padrões
  • A nova documentação do ServeMux explica as regras de precedência para padrões e possíveis conflitos
  • O artigo também revisita exemplos de uma série sobre servidores REST em Go e compara como o novo mux da stdlib se sai em relação ao gorilla/mux
  • O novo mux do Go 1.22 permite um roteamento mais sofisticado, reduzindo a necessidade de tomar decisões de roteamento dentro dos handlers
  • O autor acredita que os recursos aprimorados do Go 1.22 vão mudar a resposta comum à pergunta: "qual pacote de roteador devo usar?" Muitas pessoas considerarão que o novo mux da stdlib é suficiente para suas necessidades
  • No entanto, alguns programadores Go ainda podem preferir pacotes de terceiros ou frameworks leves como Gin. Eles oferecem o roteador e ferramentas adicionais para construir backends web
  • No geral, o autor vê os aprimoramentos do Go 1.22 como uma mudança positiva para todos os usuários de Go, tornando a biblioteca padrão mais capaz e benéfica para toda a comunidade

1 comentários

 
GN⁺ 2023-10-17
Comentários do Hacker News
  • Artigo sobre o novo roteamento de servidor HTTP no Go 1.22.
  • Usuários têm dificuldade para entender o pânico que ocorre quando duas rotas coincidem; a maioria dos frameworks web usa a primeira rota correspondente registrada.
  • O arquivamento e desarquivamento do projeto gorrila/mux causa confusão, mas alguns veem isso como prova da estabilidade de projetos de código aberto.
  • Críticas à sintaxe proposta, com algumas pessoas sugerindo usar argumentos reais em vez de criar strings mágicas para definir handlers.
  • Usuários não gostam do uso de prefixos de método em formato de string, preferindo segurança de tipos em métodos específicos por verbo.
  • Curiosidade sobre o que acontece quando a rota coincide, mas o método não; a resposta é 405 com o cabeçalho Allow preenchido adequadamente.
  • Sugestão de que usuários com requisitos avançados deveriam considerar outras opções ou escrever seu próprio roteador, em vez de usar o sub-mux padrão.
  • Preferência para que caminhos sobrepostos sejam correspondidos na ordem em que forem definidos, em vez de gerar pânico.
  • Usuários que não gostam da proposta, especialmente da inclusão do método de requisição HTTP na URI.
  • Críticas ao ServeMux padrão, que trata tudo quando o endereço é um prefixo, sem uma forma fácil de lidar com correspondência exata.
  • No entanto, alguns usuários veem o novo roteamento como uma mudança positiva, reduzindo dependências externas e aumentando a produtividade.