aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Improved logging of HTTP requestsOren Hurvitz2014-03-251-14/+38
| | | | | | | | | | | - MemoryBuffer isn't seekable, so we can't log it. Log the string instead. - Handle compressed streams - Don't attempt to dump binary data. Either don't log it at all (if we know it's binary), or at least convert non-ASCII characters to ASCII. - Log responses to HTTP requests - Use the same log prefix for all of these log messages ("[LOGHTTP]"), to make them easy to see at a glance - Increased the snippet length to 200 (80 doesn't show enough), and add "..." only if the message was actually truncated Resolves http://opensimulator.org/mantis/view.php?id=6949
* Add regression test for http inventory fetch.Justin Clark-Casey (justincc)2014-03-171-8/+16
| | | | Involved some restructuring to allow regression tests to dequeue inventory requests and perform poll responses synchronously rather than async
* refactor: replace verbose checks with String.IsNullOrEmpty where applicable.Justin Clark-Casey (justincc)2013-11-151-1/+1
| | | | Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
* Don't use 'Indented' formatting for RpcXml responses.Aleric Inglewood2013-09-221-1/+15
| | | | (cherry picked from commit 93abcde69043b175071e0bb752538d9730433f1d)
* Add request received/handling stats for caps which are served by http poll ↵Justin Clark-Casey (justincc)2013-07-151-0/+2
| | | | | | | handlers. This adds explicit cap poll handler supporting to the Caps classes rather than relying on callers to do the complicated coding. Other refactoring was required to get logic into the right places to support this.
* BaseHttpServer: if the handler sets the content length, don't override it. ↵Diva Canto2013-07-081-1/+1
| | | | This happens in HEAD handlers.
* Display existing statistic of how many http requests a server is making as ↵Justin Clark-Casey (justincc)2013-06-191-1/+1
| | | | server.network.HTTPRequestsMade in "show stats all"
* Make number of inbound http requests handled available as a ↵Justin Clark-Casey (justincc)2013-06-181-5/+25
| | | | httpserver.<port>.IncomingHTTPRequestsProcessed stat
* Reinstate explicit starting and stopping of PollServiceRequestManager added ↵Justin Clark-Casey (justincc)2013-06-101-1/+2
| | | | | | | | in 3eee991 but removed in 7c0bfca Do not rely on destructors to stop things. These fire at unpredictable times and cause problems such as http://opensimulator.org/mantis/view.php?id=6503 and most probably http://opensimulator.org/mantis/view.php?id=6668
* Adding Avination's PollService to round out the HTTP inventory changesMelanie2013-06-071-2/+1
|
* * In between the fog, a moment of clarity. This fixes mantis 6570teravus2013-04-041-1/+1
|
* *Yet another HTTPServer update code changes in OpenSim Libs. * This fixes a ↵teravus2013-03-161-3/+14
| | | | connection close issue by getting rid of the socket references * This adds a connection timeout checker to shutdown poor or evil connections and combats DOS attempts that just connect and make no complete requests and just wait. It also actually implements KeepAlive... instead of just understanding the connection header in the request... you can test by connecting and requesting a keepalive header and sending another request on the same connection. The new timeout checker closes expired keepalive sessions, just make sure you send the request within 70 seconds of connecting or the timeout checker will timeout the connection.
* Add method to remove JsonRpc Handlers from the serverBlueWall2013-03-031-0/+6
|
* This is the final commit that enables the Websocket handlerteravus2013-02-071-2/+10
|
* We're not really done here.. but we're getting there. Socket Read is ↵teravus2013-02-051-1/+37
| | | | working.. Still have to do Header.ToBytes and compose a websocket frame with a payload.
* Merge branch 'master' of /home/opensim/var/repo/opensimBlueWall2013-01-231-0/+3
|\
| * Explicitly stop PollServiceRequestManager() rather than relying on its ↵Justin Clark-Casey (justincc)2013-01-191-0/+3
| | | | | | | | | | | | destructor. Hopes to address occasional shutdown failures from http://opensimulator.org/mantis/view.php?id=6503
* | Add additional return statusBlueWall2013-01-231-3/+22
|/ | | | Adding additional return status for JsonRpcMethod. Now returns true/false
* Add Json-Rpc 2.0 To Registered HandlersBlueWall2013-01-151-0/+108
| | | | | Added registration json-rpc handlers in the http server. Covers version 2.0 See: http://www.jsonrpc.org/specification
* In BaseHttpServer.HandleRequest(), use Culture.SetCurrentCulture() rather ↵Justin Clark-Casey (justincc)2012-12-051-1/+1
| | | | than creating a new CultureInfo separately
* Delete unused BaseHttpServer.HandleAgentRequest()Justin Clark-Casey (justincc)2012-11-231-53/+0
|
* minor: If logging full incoming HTTP data, don't deceptively print ... at ↵Justin Clark-Casey (justincc)2012-11-201-2/+5
| | | | the end of the body.
* minor: Get content type handler logger to log "unset" for the content type ↵Justin Clark-Casey (justincc)2012-10-231-1/+1
| | | | instead of blank if no content type was set.
* minor: Use LogIncomingToContentTypeHandler() method for incoming HTTP data ↵Justin Clark-Casey (justincc)2012-10-231-8/+2
| | | | | | where this wasn't already used. This allows log level 5 (log sample or large part of incoming post data) to operate and removes copy/paste.
* If we're avoiding printing a long request warning for a GetTexture CAP call, ↵Justin Clark-Casey (justincc)2012-10-181-1/+1
| | | | | | check we received a request handler first since this is not guaranteed. Resolves harmless logged exception when content type and generic xml rpc requests take more than 3 seconds.
* Allow setting max connections for an endpointMelanie2012-09-301-1/+1
|
* Fix bug where debug http level 6 could not be specified. Also converts ↵Justin Clark-Casey (justincc)2012-09-291-3/+3
| | | | newlines at this level to '\n' to enable them to be logged.
* Make BaseHttpServer throws say something useful.Diva Canto2012-09-221-2/+2
|
* Comment out the long unused afaik HTTP agent handlers.Justin Clark-Casey (justincc)2012-09-211-73/+73
| | | | | | 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.
* Add request number counting to incoming HTTP requests in the same way that ↵Justin Clark-Casey (justincc)2012-09-211-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.
* Insert a new log level 4 for HTTP IN and HTTP OUT that will log how long the ↵Justin Clark-Casey (justincc)2012-09-201-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.
* Add ability to turn on/off logging of outgoing HTTP requests flowing through ↵Justin Clark-Casey (justincc)2012-09-201-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.
* Fix bug in logging sample input at debug http level 4.Justin Clark-Casey (justincc)2012-09-121-1/+1
| | | | Also converts newlines to "\n" text.
* Add levels 4 and 5 to "debug http" console command that will log a sample of ↵Justin Clark-Casey (justincc)2012-09-111-12/+56
| | | | | | incoming request data and the entire incoming data respectively. See "help debug http" for more details.
* Move Watchdog and MemoryWatchdog classes into OpenSim.Framework.Monitoring ↵Justin Clark-Casey (justincc)2012-07-251-0/+1
| | | | with other monitoring code from OpenSim.Framework
* Make the "debug http" command available for robust as well as the simulator. ↵Justin Clark-Casey (justincc)2012-06-151-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.
* Add main instance to internal MainServer.m_Servers list to simplify internal ↵Justin Clark-Casey (justincc)2012-06-151-8/+0
| | | | | | logic. This does require the server to be added before it is set as the main Instance
* When setting debug http level, do this for all known http servers, not just ↵Justin Clark-Casey (justincc)2012-06-151-10/+10
| | | | the main instance.
* Shuffle "debug http" levels so that 1 and 2 now cause different levels of ↵Justin Clark-Casey (justincc)2012-06-141-8/+27
| | | | warn to be logged if we receive invalid xml for xmlrpc.
* Fix a regression in BaseHttpServer.HandleXmlRpcRequests() from recent c6e3752Justin Clark-Casey (justincc)2012-06-141-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!)
* Don't include time to transmit response back to requester when assessing ↵Justin Clark-Casey (justincc)2012-06-131-297/+116
| | | | | | | | | | 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.
* Improve logging on the prim inventory script asset request path for future use.Justin Clark-Casey (justincc)2012-05-091-2/+2
| | | | This adds name and description of the request handler to http request logging when DebugLevel >= 1
* Log the full exception when errors occur in BaseHttpServerOren Hurvitz2012-05-071-19/+19
|
* minor: Tweak BaseHttpServer message to make it clear that this relates to ↵Justin Clark-Casey (justincc)2012-05-041-1/+1
| | | | slow handling of inbound requests.
* Implement optional name and description on http stream handlers so that we ↵Justin Clark-Casey (justincc)2012-05-031-4/+12
| | | | | | 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.
* Revert "Log the full exception when errors occur in BaseHttpServer"Justin Clark-Casey (justincc)2012-04-271-19/+19
| | | | | | This reverts commit e31e7c68c8abfd61fed6dabac5403d8adf42ae87. Applied for patch assessment and accidentally committed too early.
* Log the full exception when errors occur in BaseHttpServerOren Hurvitz2012-04-271-19/+19
|
* Add more exception detail to Exception and IOException throws in ↵Justin Clark-Casey (justincc)2012-04-201-2/+2
| | | | BaseHttpServer.HandleRequest()
* Thank you, BaseHttpServer, for telling me where things go wrong.Diva Canto2012-04-061-2/+2
|
* Stop also adding an ordinary http handler when we set up a poll http handler.Justin Clark-Casey (justincc)2011-12-071-9/+3
| | | | It appears that this is entirely unnecessary since the poll http handlers are dealt with on a separate code path.