code: func ClientFromURL(url string) (*Client, error) {
  	url2, err := u.Parse(url)
  	if err != nil {
  		return nil, err
  	}
  
  	c := Client{
  		Host: url2.Host,
  	}
  
  	matches := pusherPathRegex.FindStringSubmatch(url2.Path)
  	if len(matches) == 0 {
  		return nil, errors.New("No app ID found")
  	}
  	c.AppId = matches[1]
  
  	if url2.User == nil {
  		return nil, errors.New("Missing <key>:<secret>")
  	}
  	c.Key = url2.User.Username()
  	var isSet bool
  	c.Secret, isSet = url2.User.Password()
  	if !isSet {
  		return nil, errors.New("Missing <secret>")
  	}
  
  	if url2.Scheme == "https" {
  		c.Secure = true
  	}
  
  	return &c, nil
  }
docs: /*
  Clients can be instantiated from a specially-crafted Pusher URL. For example:
  
  	client := pusher.ClientFromURL("http://key:secret@api.pusherapp.com/apps/app_id")
  
  */