code: func (configFile *ConfigFile) ParseProxyConfig(host string, runOpts map[string]*string) map[string]*string {
  	var cfgKey string
  
  	if _, ok := configFile.Proxies[host]; !ok {
  		cfgKey = "default"
  	} else {
  		cfgKey = host
  	}
  
  	config := configFile.Proxies[cfgKey]
  	permitted := map[string]*string{
  		"HTTP_PROXY":  &config.HTTPProxy,
  		"HTTPS_PROXY": &config.HTTPSProxy,
  		"NO_PROXY":    &config.NoProxy,
  		"FTP_PROXY":   &config.FTPProxy,
  	}
  	m := runOpts
  	if m == nil {
  		m = make(map[string]*string)
  	}
  	for k := range permitted {
  		if *permitted[k] == "" {
  			continue
  		}
  		if _, ok := m[k]; !ok {
  			m[k] = permitted[k]
  		}
  		if _, ok := m[strings.ToLower(k)]; !ok {
  			m[strings.ToLower(k)] = permitted[k]
  		}
  	}
  	return m
  }
docs: // ParseProxyConfig computes proxy configuration by retrieving the config for the provided host and
  // then checking this against any environment variables provided to the container