2021-09-02 17:22:39 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net/http"
|
2021-09-02 21:05:57 +00:00
|
|
|
"strings"
|
2021-09-02 17:22:39 +00:00
|
|
|
|
|
|
|
"github.com/labstack/echo"
|
|
|
|
"github.com/rosti-cz/server_lobby/server"
|
|
|
|
)
|
|
|
|
|
|
|
|
func listHandler(c echo.Context) error {
|
2021-09-02 21:05:57 +00:00
|
|
|
labels := c.QueryParam("labels")
|
2021-09-02 17:22:39 +00:00
|
|
|
|
|
|
|
var discoveries []server.Discovery
|
|
|
|
|
2021-09-02 21:05:57 +00:00
|
|
|
if len(labels) > 0 {
|
|
|
|
labelsFilterSlice := strings.Split(labels, ",")
|
|
|
|
discoveries = discoveryStorage.Filter(labelsFilterSlice)
|
2021-09-02 17:22:39 +00:00
|
|
|
} else {
|
|
|
|
discoveries = discoveryStorage.GetAll()
|
|
|
|
}
|
|
|
|
|
|
|
|
return c.JSONPretty(200, discoveries, " ")
|
|
|
|
}
|
|
|
|
|
|
|
|
func prometheusHandler(c echo.Context) error {
|
2021-09-02 21:05:57 +00:00
|
|
|
name := c.Param("name")
|
|
|
|
|
|
|
|
services := preparePrometheusOutput(name, discoveryStorage.GetAll())
|
2021-09-02 17:22:39 +00:00
|
|
|
|
|
|
|
return c.JSONPretty(http.StatusOK, services, " ")
|
|
|
|
}
|