Normalize names before putting it in the handler

This commit is contained in:
Miek Gieben 2016-04-05 16:36:27 +01:00
parent e0c4f94d67
commit ecb53addd6

View file

@ -19,9 +19,7 @@ func Prometheus(c *Controller) (middleware.Middleware, error) {
if err != nil {
return nil, err
}
if metrics.Addr == "" {
metrics.Addr = addr
}
once.Do(func() {
c.Startup = append(c.Startup, metrics.Start)
})
@ -39,10 +37,13 @@ func parsePrometheus(c *Controller) (prom.Metrics, error) {
)
for c.Next() {
if metrics.Addr != "" {
if len(metrics.ZoneNames) > 0 {
return prom.Metrics{}, c.Err("prometheus: can only have one metrics module per server")
}
metrics = prom.Metrics{ZoneNames: c.ServerBlockHosts}
for i, _ := range metrics.ZoneNames {
metrics.ZoneNames[i] = middleware.Host(metrics.ZoneNames[i]).Normalize()
}
args := c.RemainingArgs()
switch len(args) {
@ -66,5 +67,8 @@ func parsePrometheus(c *Controller) (prom.Metrics, error) {
}
}
if metrics.Addr == "" {
metrics.Addr = addr
}
return metrics, err
}