24 lines
383 B
Go
24 lines
383 B
Go
package main
|
|
|
|
import (
|
|
"net/url"
|
|
)
|
|
|
|
func (t *Targets) UnmarshalYAML(unmarshal func(interface{}) error) error {
|
|
targets := []string{}
|
|
err := unmarshal(&targets)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*t = Targets{
|
|
targets: make([]*url.URL, len(targets)),
|
|
}
|
|
for i, u := range targets {
|
|
u, err := url.Parse(u)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
t.targets[i] = u
|
|
}
|
|
return nil
|
|
}
|