- Go 1.22'de
net/http paketi içindeki varsayılan HTTP sunum çoklayıcısının desen eşleme yeteneklerindeki iyileştirmeleri ele alan bir yazı
- Önceki çoklayıcı (
http.ServeMux) temel yol eşleme sunuyordu; gelişmiş özellikler için 3rd party kütüphanelerin kullanılması gerekiyordu
- Go 1.22'nin yeni çoklayıcısı gelişmiş eşleme sunarak 3rd party paketlerle arasındaki farkı azaltıyor
- Yeni çoklayıcı (
mux), HTTP metodlarının desenin bir parçası olarak açıkça belirtilmesine izin veriyor ve yol bileşenlerinde joker karakter eşlemeyi destekliyor
- Yazı, yeni
mux kullanımına dair örnekler sunuyor ve farklı desenler arasındaki olası çakışmaların nasıl ele alındığını da kapsıyor
- Yeni
ServeMux dokümantasyonu, desenler ve olası çakışmalar için öncelik kurallarını açıklıyor
- Yazı ayrıca Go'daki REST sunucu serisinden bir örneği yeniden ele alıyor ve yeni stdlib
mux'un gorilla/mux karşısında nasıl göründüğünü karşılaştırıyor
- Go 1.22'nin yeni
mux'u daha gelişmiş yönlendirmeyi mümkün kılarak, yönlendirme kararlarının handler içinde verilmesi ihtiyacını azaltıyor
- Yazar, Go 1.22'deki geliştirmelerin "Hangi router paketini kullanmalıyım?" sorusuna verilen yaygın cevabı değiştireceğine inanıyor. Birçok kişi yeni stdlib
mux'un ihtiyaçları için yeterli olduğunu düşünecek
- Ancak bazı Go programcıları hâlâ 3rd party paketleri ya da Gin gibi hafif framework'leri tercih edebilir. Bunlar router ve web backend'i oluşturmak için ek araçlar sağlıyor
- Genel olarak yazar, Go 1.22'deki iyileştirmeleri tüm Go kullanıcıları için olumlu bir değişim olarak görüyor; bu da standart kütüphaneyi daha yetkin ve tüm topluluk için daha faydalı hale getiriyor
1 yorum
Hacker News görüşü
gorrila/muxprojesinin arşivlenmesi ve ardından yeniden etkinleştirilmesi kafa karışıklığı yarattı, ancak bazıları bunu açık kaynak projelerin dayanıklılığının kanıtı olarak görüyor.Allowheader’ı ile birlikte 405.ServeMuxeleştiriliyor; tam eşleşmeyi ele almanın kolay bir yolu yok.