mirror of
https://github.com/XTLS/Xray-core.git
synced 2024-11-24 01:21:29 +00:00
XHTTP client: Move dest2
into MemoryStreamConfig
as well
This commit is contained in:
parent
2c72864935
commit
9fbb6fbb3b
|
@ -1,7 +1,10 @@
|
||||||
package internet
|
package internet
|
||||||
|
|
||||||
|
import "github.com/xtls/xray-core/common/net"
|
||||||
|
|
||||||
// MemoryStreamConfig is a parsed form of StreamConfig. This is used to reduce the number of Protobuf parsings.
|
// MemoryStreamConfig is a parsed form of StreamConfig. This is used to reduce the number of Protobuf parsings.
|
||||||
type MemoryStreamConfig struct {
|
type MemoryStreamConfig struct {
|
||||||
|
Destination *net.Destination
|
||||||
ProtocolName string
|
ProtocolName string
|
||||||
ProtocolSettings interface{}
|
ProtocolSettings interface{}
|
||||||
SecurityType string
|
SecurityType string
|
||||||
|
@ -23,6 +26,13 @@ func ToMemoryStreamConfig(s *StreamConfig) (*MemoryStreamConfig, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if s != nil {
|
if s != nil {
|
||||||
|
if s.Address != nil {
|
||||||
|
mss.Destination = &net.Destination{
|
||||||
|
Address: s.Address.AsAddress(),
|
||||||
|
Port: net.Port(s.Port),
|
||||||
|
Network: net.Network_TCP,
|
||||||
|
}
|
||||||
|
}
|
||||||
mss.SocketSettings = s.SocketSettings
|
mss.SocketSettings = s.SocketSettings
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -264,12 +264,7 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me
|
||||||
}
|
}
|
||||||
globalDialerAccess.Unlock()
|
globalDialerAccess.Unlock()
|
||||||
memory2 := streamSettings.DownloadSettings
|
memory2 := streamSettings.DownloadSettings
|
||||||
dest2 := net.Destination{
|
httpClient2, muxRes2 = getHTTPClient(ctx, *memory2.Destination, memory2) // just panic
|
||||||
Address: transportConfiguration.DownloadSettings.Address.AsAddress(), // just panic
|
|
||||||
Port: net.Port(transportConfiguration.DownloadSettings.Port),
|
|
||||||
Network: net.Network_TCP,
|
|
||||||
}
|
|
||||||
httpClient2, muxRes2 = getHTTPClient(ctx, dest2, memory2)
|
|
||||||
if tls.ConfigFromStreamSettings(memory2) != nil || reality.ConfigFromStreamSettings(memory2) != nil {
|
if tls.ConfigFromStreamSettings(memory2) != nil || reality.ConfigFromStreamSettings(memory2) != nil {
|
||||||
requestURL2.Scheme = "https"
|
requestURL2.Scheme = "https"
|
||||||
} else {
|
} else {
|
||||||
|
@ -278,7 +273,7 @@ func Dial(ctx context.Context, dest net.Destination, streamSettings *internet.Me
|
||||||
config2 := memory2.ProtocolSettings.(*Config)
|
config2 := memory2.ProtocolSettings.(*Config)
|
||||||
requestURL2.Host = config2.Host
|
requestURL2.Host = config2.Host
|
||||||
if requestURL2.Host == "" {
|
if requestURL2.Host == "" {
|
||||||
requestURL2.Host = dest2.NetAddr()
|
requestURL2.Host = memory2.Destination.NetAddr()
|
||||||
}
|
}
|
||||||
requestURL2.Path = requestURL.Path // the same
|
requestURL2.Path = requestURL.Path // the same
|
||||||
requestURL2.RawQuery = config2.GetNormalizedQuery()
|
requestURL2.RawQuery = config2.GetNormalizedQuery()
|
||||||
|
|
Loading…
Reference in a new issue