code: func FromEnvironment() Dialer {
  	allProxy := os.Getenv("all_proxy")
  	if len(allProxy) == 0 {
  		return Direct
  	}
  
  	proxyURL, err := url.Parse(allProxy)
  	if err != nil {
  		return Direct
  	}
  	proxy, err := FromURL(proxyURL, Direct)
  	if err != nil {
  		return Direct
  	}
  
  	noProxy := os.Getenv("no_proxy")
  	if len(noProxy) == 0 {
  		return proxy
  	}
  
  	perHost := NewPerHost(proxy, Direct)
  	perHost.AddFromString(noProxy)
  	return perHost
  }
docs: // FromEnvironment returns the dialer specified by the proxy related variables in
  // the environment.