| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | 
							- package http
 
- import (
 
- 	"v2ray.com/core/common"
 
- 	"v2ray.com/core/common/dice"
 
- 	"v2ray.com/core/transport/internet"
 
- )
 
- func (c *Config) getHosts() []string {
 
- 	if len(c.Host) == 0 {
 
- 		return []string{"www.example.com"}
 
- 	}
 
- 	return c.Host
 
- }
 
- func (c *Config) isValidHost(host string) bool {
 
- 	hosts := c.getHosts()
 
- 	for _, h := range hosts {
 
- 		if h == host {
 
- 			return true
 
- 		}
 
- 	}
 
- 	return false
 
- }
 
- func (c *Config) getRandomHost() string {
 
- 	hosts := c.getHosts()
 
- 	return hosts[dice.Roll(len(hosts))]
 
- }
 
- func (c *Config) getNormalizedPath() string {
 
- 	if len(c.Path) == 0 {
 
- 		return "/"
 
- 	}
 
- 	if c.Path[0] != '/' {
 
- 		return "/" + c.Path
 
- 	}
 
- 	return c.Path
 
- }
 
- func init() {
 
- 	common.Must(internet.RegisterProtocolConfigCreator(internet.TransportProtocol_HTTP, func() interface{} {
 
- 		return new(Config)
 
- 	}))
 
- }
 
 
  |