2016-12-22 18:30:46 -05:00
|
|
|
package websocket
|
2016-08-13 09:44:36 -04:00
|
|
|
|
2016-10-02 17:43:58 -04:00
|
|
|
import (
|
2017-10-13 11:54:04 -04:00
|
|
|
"net/http"
|
|
|
|
|
2017-01-12 06:54:34 -05:00
|
|
|
"v2ray.com/core/common"
|
2016-10-02 17:43:58 -04:00
|
|
|
"v2ray.com/core/transport/internet"
|
2016-08-13 09:44:36 -04:00
|
|
|
)
|
2016-10-02 17:43:58 -04:00
|
|
|
|
2018-08-06 07:48:35 -04:00
|
|
|
const protocolName = "websocket"
|
|
|
|
|
2018-03-02 03:26:14 -05:00
|
|
|
func (c *Config) GetNormalizedPath() string {
|
2017-02-10 05:47:53 -05:00
|
|
|
path := c.Path
|
|
|
|
if len(path) == 0 {
|
|
|
|
return "/"
|
|
|
|
}
|
|
|
|
if path[0] != '/' {
|
|
|
|
return "/" + path
|
|
|
|
}
|
|
|
|
return path
|
|
|
|
}
|
|
|
|
|
2017-10-13 11:54:04 -04:00
|
|
|
func (c *Config) GetRequestHeader() http.Header {
|
|
|
|
header := http.Header{}
|
|
|
|
for _, h := range c.Header {
|
|
|
|
header.Add(h.Key, h.Value)
|
|
|
|
}
|
|
|
|
return header
|
|
|
|
}
|
|
|
|
|
2016-10-02 17:43:58 -04:00
|
|
|
func init() {
|
2018-08-06 07:48:35 -04:00
|
|
|
common.Must(internet.RegisterProtocolConfigCreatorByName(protocolName, func() interface{} {
|
2016-10-02 17:43:58 -04:00
|
|
|
return new(Config)
|
2017-01-12 06:54:34 -05:00
|
|
|
}))
|
2016-10-02 17:43:58 -04:00
|
|
|
}
|