| 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)
- }))
- }
|