1
0
mirror of https://github.com/alice-lg/alice-lg.git synced 2024-05-11 05:55:03 +00:00
alice-lg-alice-lg/pkg/http/api_endpoints_routeservers.go

42 lines
822 B
Go
Raw Normal View History

2021-10-22 22:40:03 +02:00
package http
2018-09-22 15:51:20 +02:00
import (
"net/http"
2018-12-09 18:47:40 +01:00
"sort"
2021-03-22 16:50:08 +01:00
"github.com/julienschmidt/httprouter"
"github.com/alice-lg/alice-lg/pkg/api"
2018-09-22 15:51:20 +02:00
)
2021-10-27 14:48:52 +00:00
// Handle RouteServers List
func (s *Server) apiRouteServersList(
2021-10-26 23:11:42 +02:00
_req *http.Request,
_params httprouter.Params,
2021-10-27 17:54:51 +00:00
) (response, error) {
2018-09-22 15:51:20 +02:00
// Get list of sources from config,
2021-10-27 14:48:52 +00:00
routeservers := api.RouteServers{}
2018-09-22 15:51:20 +02:00
2021-10-26 23:11:42 +02:00
sources := s.cfg.Sources
2018-09-22 15:51:20 +02:00
for _, source := range sources {
2021-10-27 14:48:52 +00:00
routeservers = append(routeservers, api.RouteServer{
2021-10-27 17:54:51 +00:00
ID: source.ID,
2021-07-02 14:16:13 +02:00
Type: source.Type,
2018-09-22 15:51:20 +02:00
Name: source.Name,
2018-10-21 11:29:43 +02:00
Group: source.Group,
2018-09-22 15:51:20 +02:00
Blackholes: source.Blackholes,
2018-12-09 18:47:40 +01:00
Order: source.Order,
2018-09-22 15:51:20 +02:00
})
}
2018-12-09 18:47:40 +01:00
// Assert routeserver ordering
sort.Sort(routeservers)
2018-09-22 15:51:20 +02:00
// Make routeservers response
2021-10-27 14:48:52 +00:00
response := api.RouteServersResponse{
RouteServers: routeservers,
2018-09-22 15:51:20 +02:00
}
return response, nil
}