github.com/joergfiedler/rero (go): Package rero implements a simple request router and dispatcher.  Features:  Example:  Requests are matched by method and path. Trailing slashes are ignored.  Path variables are supported as well. Use as many variables within in single path as you like.  Configuring routes that have variable and non-variable path segments is not supported. The router will panic when you try to do this. It would be impossible to decide which handler to call.  You may register multiple handler per route. All handlers will be called in order they were registered. The chain breaks when a handler calls rero.RequestContext.Respond().  To register global handlers, which will be executed before route specific handlers. Use rero.RequestContext.SetVar() and rero.RequestContext.GetVar() to communicated between handlers.
Keywords: go|request-router