mirror of https://github.com/XTLS/Xray-core
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
619 B
36 lines
619 B
package websocket |
|
|
|
import ( |
|
"net/http" |
|
|
|
"github.com/xtls/xray-core/common" |
|
"github.com/xtls/xray-core/transport/internet" |
|
) |
|
|
|
const protocolName = "websocket" |
|
|
|
func (c *Config) GetNormalizedPath() string { |
|
path := c.Path |
|
if path == "" { |
|
return "/" |
|
} |
|
if path[0] != '/' { |
|
return "/" + path |
|
} |
|
return path |
|
} |
|
|
|
func (c *Config) GetRequestHeader() http.Header { |
|
header := http.Header{} |
|
for k, v := range c.Header { |
|
header.Add(k, v) |
|
} |
|
header.Set("Host", c.Host) |
|
return header |
|
} |
|
|
|
func init() { |
|
common.Must(internet.RegisterProtocolConfigCreator(protocolName, func() interface{} { |
|
return new(Config) |
|
})) |
|
}
|
|
|