sr-71/routes.go

29 lines
567 B
Go

package main
import (
sr "tildegit.org/tjp/sliderule"
)
func routes(server Server) *sr.Router {
router := &sr.Router{}
for _, route := range server.Routes {
addRoute(server, router, route)
}
return router
}
func addRoute(server Server, router *sr.Router, route RouteDirective) {
switch server.Type {
case "gopher":
addGopherRoute(router, route)
case "gemini":
addGeminiRoute(router, route)
case "spartan":
addSpartanRoute(router, route)
case "nex":
addNexRoute(router, route)
default:
panic("invalid server type '" + server.Type + "'")
}
}