code: func (b *Backend) Get(c context.Context, configSet config.Set, path string, p backend.Params) (*config.Config, error) {
  	key := Key{
  		Schema:     Schema,
  		ServiceURL: b.keyServiceURL(c),
  		Authority:  p.Authority,
  		Op:         OpGet,
  		Content:    p.Content,
  		ConfigSet:  configSet,
  		Path:       path,
  		Formatter:  p.FormatSpec.Formatter,
  		FormatData: p.FormatSpec.Data,
  	}
  	value, err := b.CacheGet(c, key, b.loader)
  	if err != nil {
  		if b.FailOnError {
  			log.Fields{
  				log.ErrorKey: err,
  				"authority":  p.Authority,
  				"configSet":  configSet,
  				"path":       path,
  			}.Errorf(c, "(Hard Failure) failed to load cache value.")
  			return nil, errors.Annotate(err, "").Err()
  		}
  
  		log.Fields{
  			log.ErrorKey: err,
  			"authority":  p.Authority,
  			"configSet":  configSet,
  			"path":       path,
  		}.Warningf(c, "Failed to load cache value.")
  		return b.B.Get(c, configSet, path, p)
  	}
  
  	it := value.SingleItem()
  	if it == nil {
  		// Sentinel for no config.
  		return nil, config.ErrNoConfig
  	}
  	return it, nil
  }
docs: // Get implements backend.B.