Browse Source

Simplification

pull/1731/head
Ferdinando Papale 2 weeks ago
parent
commit
fad7d42163
  1. 26
      src/MongoDB.Driver/Core/Connections/Socks5Helper.cs

26
src/MongoDB.Driver/Core/Connections/Socks5Helper.cs

@ -104,17 +104,10 @@ namespace MongoDB.Driver.Core.Connections
// | 1 | 1 | 1 to 255 | 1 | 1 to 255 |
// +----+------+----------+------+----------+
buffer[0] = SubnegotiationVersion;
#if NET472
var usernameLength = EncodeString(proxyUsername, buffer, 2, nameof(proxyUsername));
buffer[1] = (byte)usernameLength;
var passwordLength = EncodeString(proxyPassword, buffer, 3 + usernameLength, nameof(proxyPassword));
buffer[2 + usernameLength] = (byte)passwordLength;
#else
usernameLength = EncodeString(proxyUsername.AsSpan(), buffer.AsSpan(2), nameof(proxyUsername));
buffer[1] = (byte)usernameLength;
passwordLength = EncodeString(proxyPassword.AsSpan(), buffer.AsSpan(3 + usernameLength), nameof(proxyPassword));
buffer[2 + usernameLength] = (byte)passwordLength;
#endif
var authLength = 3 + usernameLength + passwordLength;
stream.Write(buffer, 0, authLength);
@ -178,11 +171,8 @@ namespace MongoDB.Driver.Core.Connections
else
{
buffer[3] = AddressTypeDomain;
#if NET472
var hostLength = EncodeString(targetHost, buffer, 5, nameof(targetHost));
#else
var hostLength = EncodeString(targetHost, buffer.AsSpan(5), nameof(targetHost));
#endif
buffer[4] = hostLength;
addressLength = hostLength + 1;
}
@ -230,7 +220,6 @@ namespace MongoDB.Driver.Core.Connections
}
}
#if NET472
private static byte EncodeString(string input, byte[] buffer, int offset, string parameterName)
{
try
@ -243,18 +232,5 @@ namespace MongoDB.Driver.Core.Connections
throw new IOException($"The {parameterName} could not be encoded as UTF-8.");
}
}
#else
private static byte EncodeString(ReadOnlySpan<char> chars, Span<byte> buffer, string parameterName)
{
try
{
return checked((byte)Encoding.UTF8.GetBytes(chars, buffer));
}
catch
{
throw new IOException($"The {parameterName} could not be encoded as UTF-8.");
}
}
#endif
}
}
Loading…
Cancel
Save