diff --git a/builds/NET20/SharpConnect.WebServer/SharpConnect.WebServer.csproj b/builds/NET20/SharpConnect.WebServer/SharpConnect.WebServer.csproj index f885897..2861ce0 100644 --- a/builds/NET20/SharpConnect.WebServer/SharpConnect.WebServer.csproj +++ b/builds/NET20/SharpConnect.WebServer/SharpConnect.WebServer.csproj @@ -12,6 +12,7 @@ v2.0 512 true + true @@ -22,6 +23,7 @@ prompt 4 true + false pdbonly @@ -31,6 +33,7 @@ prompt 4 true + false diff --git a/src/SharpConnect.WebServer/HttpWebServer0/HttpRequest.cs b/src/SharpConnect.WebServer/HttpWebServer0/HttpRequest.cs index 51414d2..617d3f2 100644 --- a/src/SharpConnect.WebServer/HttpWebServer0/HttpRequest.cs +++ b/src/SharpConnect.WebServer/HttpWebServer0/HttpRequest.cs @@ -3,7 +3,7 @@ using System.IO; using System.Text; using System.Collections.Generic; - +using System.Net; namespace SharpConnect.WebServers { @@ -20,6 +20,7 @@ interface IHttpContext : ISendIO int RecvByteTransfer { get; } byte ReadByte(int pos); void RecvCopyTo(int readpos, byte[] dstBuffer, int copyLen); + System.Net.EndPoint RemoteEndPoint { get; } } interface ISendIO { @@ -175,6 +176,7 @@ public HttpMethod HttpMethod internal set; } protected int ContentLength => _targetContentLength; + public abstract System.Net.EndPoint RemoteEndPoint { get; } } public class LargetFileUploadPolicyResult @@ -197,7 +199,7 @@ internal HttpRequestImpl(IHttpContext context) _bodyMs = new MemoryStream(); InMemMaxUploadBodySize = 1024 * 4;//default 4k } - + public override EndPoint RemoteEndPoint => _context.RemoteEndPoint; public void SetLargeUploadFilePolicyHandler(LargeFileUploadPermissionReqHandler largeFileUploadPermissionReqHandler) { diff --git a/src/SharpConnect.WebServer/HttpWebServer1/HttpContext.cs b/src/SharpConnect.WebServer/HttpWebServer1/HttpContext.cs index 1069d9a..6a0c844 100644 --- a/src/SharpConnect.WebServer/HttpWebServer1/HttpContext.cs +++ b/src/SharpConnect.WebServer/HttpWebServer1/HttpContext.cs @@ -201,7 +201,7 @@ void HandleSend(SendIOEventCode sendEventCode) internal HttpResponse HttpResp => _httpResp; internal Socket RemoteSocket => _recv_a.AcceptSocket; - + public System.Net.EndPoint RemoteEndPoint => RemoteSocket.RemoteEndPoint; /// /// bind to client socket /// diff --git a/src/SharpConnect.WebServer/HttpWebServer2/HttpsContext.cs b/src/SharpConnect.WebServer/HttpWebServer2/HttpsContext.cs index f123f58..156ac5c 100644 --- a/src/SharpConnect.WebServer/HttpWebServer2/HttpsContext.cs +++ b/src/SharpConnect.WebServer/HttpWebServer2/HttpsContext.cs @@ -26,6 +26,7 @@ */ using System; +using System.Net; using System.Net.Sockets; using SharpConnect.Internal2; namespace SharpConnect.WebServers @@ -45,6 +46,7 @@ class HttpsContext : IHttpContext, ISendIO AbstractAsyncNetworkStream _sockStream; Socket _clientSocket; + public EndPoint RemoteEndPoint => RemoteSocket.RemoteEndPoint; #if DEBUG static int dbugTotalId; @@ -378,6 +380,8 @@ public Int32 dbugTokenId return _dbugTokenId; } } + + int _dbugTokenId; //for testing only #endif