Ein Router für Go

Ich habe vor ein paar Tagen meinen Kontextbasierten Router neu aufgesetzt.

Zu finden unter https://github.com/gomgo/mux

Ich habe ihn ursprünglich geschrieben bevor gin geschrieben wurde.

Im Gegensatz zu gin kann man diesem Router einen eigenen Kontext geben. Man ist also nicht angewiesen den festen Kontext von gin zu nutzen. Das eröffnet auch semantisch bessere übersicht.

Ebenfalls nutzt er von Haus aus regexp-basierte Parameter, was gin nicht macht. Deshalb ist er auch oberflächlich langsamer aber unter der Haube vielfältiger nutzbar als gin, da gin httprouter verwendet.
Dieser Router dagegen verwendet einen schnelleren, aber speicheraufwendigeren Baum zur Speicherung der Pfade.

Die hier eingesetzte Technologie schlägt httprouter im direkten Vergleich. Es ist also der weltweit schnelleste resolver in Go.

Dadurch das man dem Kontext bei der Init Funktion den http.ResponseWriter und den *http.Request passt kann man auch http.Handler oder http.HandlerFuncs verwenden.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.