aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Servers/HttpServer (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-09-22Make BaseHttpServer throws say something useful.Diva Canto1-2/+2
2012-09-21Comment out the long unused afaik HTTP agent handlers.Justin Clark-Casey (justincc)2-84/+84
As far as I know, this was only used by the IBM Rest modules, much of which has been commented out for a very long time now. Other similar code uses HTTP or stream handlers instead. So commenting this out to reduce code complexity and the need to make this facility consistent with the others where it may not be used anyway. If this facility is actually being used then please notify me or uncomment it if you are core.
2012-09-21Add request number counting to incoming HTTP requests in the same way that ↵Justin Clark-Casey (justincc)1-18/+41
this was already being done for outgoing HTTP requests. This allows us to associate debug logging messages with the right request. It also allows us to put a request number on 'long request' logging even if other debug logging is not enabled, which gives us some idea of whether every request is suffering this problem or only some. This is a separate internal number not associated with any incoming number in the opensim-request-id header, this will be clarified when logging of this incoming request number is re-enabled. This commit also adds port number to HTTP IN logging to allow us to distinguish between different request numbers on different ports.
2012-09-20Insert a new log level 4 for HTTP IN and HTTP OUT that will log how long the ↵Justin Clark-Casey (justincc)1-15/+32
request took. This is only printed if debug http level >= 4 and the request didn't take more than the time considered 'long', in which case the existing log message is printed. This displaces the previous log levels 4 and 5 which are now 5 and 6 respectively.
2012-09-20Add ability to turn on/off logging of outgoing HTTP requests flowing through ↵Justin Clark-Casey (justincc)1-5/+5
WebUtil. This is for debugging purposes. This is controlled via the "debug http" command which can already log incoming requests. This now gains a mandatory parameter of in, out or all to control what is logged. Log messages are also shortened and labelled and HTTP IN or HTTP OUT to be consistent with existing UDP PACKET IN and PACKET OUT messages.
2012-09-12Fix bug in logging sample input at debug http level 4.Justin Clark-Casey (justincc)1-1/+1
Also converts newlines to "\n" text.
2012-09-11Add levels 4 and 5 to "debug http" console command that will log a sample of ↵Justin Clark-Casey (justincc)1-12/+56
incoming request data and the entire incoming data respectively. See "help debug http" for more details.
2012-07-25Move Watchdog and MemoryWatchdog classes into OpenSim.Framework.Monitoring ↵Justin Clark-Casey (justincc)3-0/+3
with other monitoring code from OpenSim.Framework
2012-06-22Avoid a race condition where an incoming request to a script external URL ↵Justin Clark-Casey (justincc)2-5/+11
can trigger an exception is the URL was being removed at the same time. This involves three steps 1) Return gracefully in UrlModule.HttpRequestHandler() instead of throwing an exception when the url cannot be found in its index 2) Return true instead of false in HasEvents() if no matching request is found in the map. This call will only happen in the first place for raced requests. 3) Return a 404 in GetEvents() if the request is not in the index, rather than a blank 200 OK. Many thanks to Tom Haines in http://opensimulator.org/mantis/view.php?id=6051 for doing some of the work on this.
2012-06-16Fix bug introduced in commit c6e3752 (13 Jun 2012) where poll responses ↵Justin Clark-Casey (justincc)1-3/+1
would always return OK even if some other status code had been set
2012-06-15Make the "debug http" command available for robust as well as the simulator. ↵Justin Clark-Casey (justincc)1-0/+3
This allows one to see incoming requests as they happen. This required making everything use the common MainServer class for registering and retrieving http servers, rather than duplicate structures.
2012-06-15Add main instance to internal MainServer.m_Servers list to simplify internal ↵Justin Clark-Casey (justincc)1-8/+0
logic. This does require the server to be added before it is set as the main Instance
2012-06-15When setting debug http level, do this for all known http servers, not just ↵Justin Clark-Casey (justincc)1-10/+10
the main instance.
2012-06-14Shuffle "debug http" levels so that 1 and 2 now cause different levels of ↵Justin Clark-Casey (justincc)1-8/+27
warn to be logged if we receive invalid xml for xmlrpc.
2012-06-14Fix a regression in BaseHttpServer.HandleXmlRpcRequests() from recent c6e3752Justin Clark-Casey (justincc)1-1/+1
Accidentally make responseString null by default instead of String.Empty. It needs to be something in case the XmlRpcRequest deserialize throws an exception due to bad xml (a failure which we silently swallow!)
2012-06-13Don't include time to transmit response back to requester when assessing ↵Justin Clark-Casey (justincc)5-314/+169
slow handling of requests. This is to avoid logging a 'slow' request when the source of delay is the viewer in processing a response. This is not something we can do much about on the server end - it's server-side delay that we're interested in. To ensure consistency, this commit also had to refactor and simplify inbound non-poll network request handling, though there should be no functional change. IOSHttpResponse no longer exposes the Send() method, only classes in OpenSim.Framework.Servers.HttpServer should be doing this. Only the GetTextureHandler was sending its own response. Now it leaves this to BaseHttpServer, like all other core handlers.
2012-06-07Make change to fix Windows buildsBlueWall1-1/+1
2012-06-07Allow the thread watchdog to accept an alarm method that is invoked if the ↵Justin Clark-Casey (justincc)1-0/+2
timeout is breached. This alarm can then invoke this to log extra information. This is used in LLUDPServer to show which client was being processed when incoming and outgoing udp watchdog alarms are triggered.
2012-05-24adding status codes from rfc 6585SignpostMarv1-2/+22
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-24porting IDE tooltip-friendly documentation tweaks from Aurora-SimSignpostMarv1-134/+223
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-05-09Improve logging on the prim inventory script asset request path for future use.Justin Clark-Casey (justincc)1-2/+2
This adds name and description of the request handler to http request logging when DebugLevel >= 1
2012-05-07Log the full exception when errors occur in BaseHttpServerOren Hurvitz1-19/+19
2012-05-04minor: Tweak BaseHttpServer message to make it clear that this relates to ↵Justin Clark-Casey (justincc)1-1/+1
slow handling of inbound requests.
2012-05-03Implement optional name and description on http stream handlers so that we ↵Justin Clark-Casey (justincc)9-35/+88
can relate a slow request to what the handler actually does and the agent it serves, if applicable. This is most useful for capabilities where the url is not self-describing.
2012-04-27Revert "Log the full exception when errors occur in BaseHttpServer"Justin Clark-Casey (justincc)1-19/+19
This reverts commit e31e7c68c8abfd61fed6dabac5403d8adf42ae87. Applied for patch assessment and accidentally committed too early.
2012-04-27Log the full exception when errors occur in BaseHttpServerOren Hurvitz1-19/+19
2012-04-20Add more exception detail to Exception and IOException throws in ↵Justin Clark-Casey (justincc)1-2/+2
BaseHttpServer.HandleRequest()
2012-04-06Thank you, BaseHttpServer, for telling me where things go wrong.Diva Canto1-2/+2
2012-02-24Stop spurious scene loop startup timeout alarms for scenes with many prims.Justin Clark-Casey (justincc)1-0/+2
On the first frame, all startup scene objects are added to the physics scene. This can cause a considerable delay, so we don't start raising the alarm on scene loop timeouts until the second frame. This commit also slightly changes the behaviour of timeout reporting. Previously, a report was made for the very first timed out thread, ignoring all others until the next watchdog check. Instead, we now report every timed out thread, though we still only do this once no matter how long the timeout.
2011-12-07Stop also adding an ordinary http handler when we set up a poll http handler.Justin Clark-Casey (justincc)2-11/+5
It appears that this is entirely unnecessary since the poll http handlers are dealt with on a separate code path.
2011-12-05Implement IOSHttpRequest and IOSHttpResponse http interfaces and use instead ↵Justin Clark-Casey (justincc)11-14/+209
of OSHttpRequest/OSHttpResponse. This is required for the substitution of different HTTP servers or the newer HttpServer.dll without having to commit to a particular implementation. This is also required to write regression tests that involve the HTTP layer. If you need to recompile, all you need to do is replace OSHttpRequest/OSHttpResponse references with IOSHttpRequest/IOSHttpResponse.
2011-11-29On "show caps", stop excluding the seed cap but do exclude it elsewhereJustin Clark-Casey (justincc)1-1/+3
2011-11-29With "debug http 1", show the path with the query string instead of just the ↵Justin Clark-Casey (justincc)1-21/+21
path. Also simplifies debug levels to just 0 and 1
2011-11-29Add "debug http" command for currently simple extra debug logging of ↵Justin Clark-Casey (justincc)1-12/+43
non-event queue inbound http requests to a simulator
2011-11-15send a watchdog heartbeat for a poll worker thread when it's actually runJustin Clark-Casey (justincc)1-0/+3
2011-11-07Remove unused avariable in PollServiceRequestManagerJustin Clark-Casey (justincc)1-8/+6
2011-10-25Restart the event queue worker threads that I accidentally disabled earlier ↵Justin Clark-Casey (justincc)1-7/+9
today in 8a0a78c. Also adds these to the watchdogs with very large timeouts (should really be infinite)
2011-10-25Make OpenSim.Framework.Servers.HttpServer rely on OpenSim.Framework instead ↵Justin Clark-Casey (justincc)3-19/+25
of the other way around. This is necessary so that code in HttpServer can use framework facilities such as the thread watchdog for monitoring purposes. Doing this shuffle meant that MainServer was moved into OpenSim/Framework/Servers Also had to make OpenSim.Framework.Console rely on OpenSim.Framework rather than the other way around since it in turn relies on HttpServer MainConsole and some new interfaces had to be moved into OpenSim/Framework to allow this. This can be reverted if parts of OpenSim.Framework stop relying on console presence (cheifly RegionInfo)
2011-10-24Drop some unnecessary ContainsKey() checking before Remove() in BaseHttpServer()Justin Clark-Casey (justincc)1-12/+2
Remove() presumably does this check anyway since it just returns false if the key is not in the collection.
2011-10-24Fix bugs in EventQueueGetModule.ClientClosed() and ↵Justin Clark-Casey (justincc)2-5/+9
BaseHttpServer.RemovePollServerHTTPHandler() that stopped existing code in ClientClosed() from actually tearing down the poll handler Actually doing the tear down appear to have no ill effects with region crossing and teleport.
2011-09-30Add Enabled switch in new [Attachments] section in OpenSimDefaults.ini to ↵Justin Clark-Casey (justincc)1-1/+1
allow attachments to be temporarily turned off. This is for debugging purposes. Defaults to Attachments Enabled
2011-08-22read m_rpcHandlersKeepAlive under appropriate lockJustin Clark-Casey (justincc)1-2/+4
2011-08-22oops, fix build break from last commitJustin Clark-Casey (justincc)1-12/+8
2011-08-22improve locking of m_agentHandlers in BaseHttpServerJustin Clark-Casey (justincc)1-10/+10
2011-08-22improve locking of m_HTTPHandlers in BaseHttpServerJustin Clark-Casey (justincc)1-2/+2
2011-08-22improve locking of m_streamHandlers in BaseHttpServerJustin Clark-Casey (justincc)1-2/+4
2011-08-22remove necessity to catch a KeyNotFoundException in ↵Justin Clark-Casey (justincc)1-11/+6
BaseHttpServer.RemoveLLSDHandler()
2011-08-22improve locking of m_llsdHandlers in BaseHttpServerJustin Clark-Casey (justincc)1-30/+32
2011-08-22minor: remove mono compiler warningJustin Clark-Casey (justincc)1-3/+3
2011-08-22improve locking of m_rpcHandlers in BaseHttpServerJustin Clark-Casey (justincc)1-1/+2