code: func GetConfig(c *caddy.Controller) *SiteConfig {
  	ctx := c.Context().(*httpContext)
  	key := strings.ToLower(c.Key)
  	if cfg, ok := ctx.keysToSiteConfigs[key]; ok {
  		return cfg
  	}
  	// we should only get here during tests because directive
  	// actions typically skip the server blocks where we make
  	// the configs
  	cfg := &SiteConfig{Root: Root, TLS: new(caddytls.Config)}
  	ctx.saveConfig(key, cfg)
  	return cfg
  }
docs: // GetConfig gets the SiteConfig that corresponds to c.
  // If none exist (should only happen in tests), then a
  // new, empty one will be created.