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