diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs index 8022ed4a71..f3487d8b9a 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs @@ -192,6 +192,11 @@ namespace OpenSim.Framework.Servers.HttpServer } private string m_userAgent; + public double ArrivalTS + { + get { return m_request.ArrivalTS;} + } + internal IHttpRequest IHttpRequest { get { return m_request; } diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs index 126c64c162..c9f3a6981d 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs @@ -275,6 +275,10 @@ namespace OpenSim.Framework.Servers.HttpServer } } + public double RequestTS + { + get {return _httpResponse.RequestTS; } + } /// /// HTTP status description. diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpClientContext.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpClientContext.cs index c11907fb83..0d2a6cf6f7 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpClientContext.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpClientContext.cs @@ -197,6 +197,7 @@ namespace OSHttpServer m_currentRequest.UriPath = e.UriPath; m_currentRequest.AddHeader("remote_addr", LocalIPEndPoint.Address.ToString()); m_currentRequest.AddHeader("remote_port", LocalIPEndPoint.Port.ToString()); + m_currentRequest.ArrivalTS = ContextTimeoutManager.GetTimeStamp(); FirstRequestLineReceived = true; TriggerKeepalive = false; diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpRequest.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpRequest.cs index f520245f7e..90466a1c42 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpRequest.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpRequest.cs @@ -204,6 +204,7 @@ namespace OSHttpServer /// public RequestCookies Cookies { get; private set; } + public double ArrivalTS { get; set;} /// ///Creates a new object that is a copy of the current instance. /// diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpResponse.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpResponse.cs index cb97993f2d..91601940e6 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpResponse.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/HttpResponse.cs @@ -26,6 +26,7 @@ namespace OSHttpServer public byte[] RawBuffer { get; set; } public int RawBufferStart { get; set; } public int RawBufferLen { get; set; } + public double RequestTS { get; private set; } internal byte[] m_headerBytes = null; @@ -45,6 +46,7 @@ namespace OSHttpServer m_context = request.Context; m_Connetion = request.Connection; requestID = request.ID; + RequestTS = request.ArrivalTS; RawBufferStart = -1; RawBufferLen = -1; } diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/IHttpRequest.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/IHttpRequest.cs index d407f6f0a8..2ca5f4e1be 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/IHttpRequest.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/IHttpRequest.cs @@ -138,5 +138,6 @@ namespace OSHttpServer IPEndPoint LocalIPEndPoint { get; } IPEndPoint RemoteIPEndPoint { get; } + double ArrivalTS { get; set; } } } \ No newline at end of file diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/IHttpResponse.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/IHttpResponse.cs index e75822f51d..86cd55ee15 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpServer/IHttpResponse.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpServer/IHttpResponse.cs @@ -38,6 +38,7 @@ namespace OSHttpServer int RawBufferStart { get; set; } int RawBufferLen { get; set; } uint requestID { get; } + double RequestTS { get;} /// /// Defines the version of the HTTP Response for applications where it's required diff --git a/OpenSim/Tests/Common/Mock/TestOSHttpRequest.cs b/OpenSim/Tests/Common/Mock/TestOSHttpRequest.cs index 3925118291..60cb2fb420 100644 --- a/OpenSim/Tests/Common/Mock/TestOSHttpRequest.cs +++ b/OpenSim/Tests/Common/Mock/TestOSHttpRequest.cs @@ -187,6 +187,7 @@ namespace OpenSim.Tests.Common public Uri Url { get; set; } public string UriPath { get;} + public double ArrivalTS { get; } public string UserAgent { diff --git a/OpenSim/Tests/Common/Mock/TestOSHttpResponse.cs b/OpenSim/Tests/Common/Mock/TestOSHttpResponse.cs index 56cec5957d..04255df8eb 100644 --- a/OpenSim/Tests/Common/Mock/TestOSHttpResponse.cs +++ b/OpenSim/Tests/Common/Mock/TestOSHttpResponse.cs @@ -117,6 +117,8 @@ namespace OpenSim.Tests.Common /// public string StatusDescription { get; set; } + public double RequestTS { get; } + /// /// Add a header field and content to the response. ///