http server change remote endpoint handling

This commit is contained in:
UbitUmarov
2020-04-11 19:57:34 +01:00
parent 7ce9f890b1
commit f95925e0fd
6 changed files with 77 additions and 45 deletions

View File

@@ -89,6 +89,8 @@ namespace OSHttpServer
/// </summary>
public event EventHandler Started;
public IPEndPoint LocalRemoteEndPoint {get; set;}
/// <summary>
/// Initializes a new instance of the <see cref="HttpClientContext"/> class.
/// </summary>
@@ -105,8 +107,7 @@ namespace OSHttpServer
if (!stream.CanWrite || !stream.CanRead)
throw new ArgumentException("Stream must be writable and readable.");
RemoteAddress = remoteEndPoint.Address.ToString();
RemotePort = remoteEndPoint.Port.ToString();
LocalRemoteEndPoint = remoteEndPoint;
_log = NullLogWriter.Instance;
m_parser = parserFactory.CreateParser(_log);
m_parser.RequestCompleted += OnRequestCompleted;
@@ -185,8 +186,8 @@ namespace OSHttpServer
m_currentRequest.Method = e.HttpMethod;
m_currentRequest.HttpVersion = e.HttpVersion;
m_currentRequest.UriPath = e.UriPath;
m_currentRequest.AddHeader("remote_addr", RemoteAddress);
m_currentRequest.AddHeader("remote_port", RemotePort);
m_currentRequest.AddHeader("remote_addr", LocalRemoteEndPoint.Address.ToString());
m_currentRequest.AddHeader("remote_port", LocalRemoteEndPoint.Port.ToString());
FirstRequestLineReceived = true;
TriggerKeepalive = false;
@@ -290,16 +291,6 @@ namespace OSHttpServer
set { m_stream = value; }
}
/// <summary>
/// Gets or sets IP address that the client connected from.
/// </summary>
internal string RemoteAddress { get; set; }
/// <summary>
/// Gets or sets port that the client connected from.
/// </summary>
internal string RemotePort { get; set; }
/// <summary>
/// Disconnect from client
/// </summary>