in metadata.go [48:63]
func (c *cachedValue) get() (string, error) {
c.Lock()
defer c.Unlock()
if c.v != "" {
return c.v, nil
}
var err error
c.v, err = metadata.Get(c.k)
if err != nil {
return "", err
}
if c.parser != nil {
c.v = c.parser(c.v)
}
return c.v, nil
}