| Commit message (Collapse) | Author | Files | Lines |
|
|
|
skeleton,
far from complete, just want to check in early and often.
|
|
adding back in a few messages on exceptions.
|
|
|
|
|
|
|
|
(from awebb)
i've added the OSHttpStatusCodes enumeration of HTTP status codes, have adapted
BaseHttpServer to use those.
then RestPlugin now has proper Failure handling returning proper HTTP status
codes. Regions/POSTHandler is work-in-progress.
|
|
provide OSHttpRequest and OSHttpResponse to our REST handler.
also, this adds proper RestPlugin.IsGod() checking against the X-OpenSim-Godkey
HTTP request header.
last, i added XML doc comments to RestPlugin.cs
|
|
placed the return in
the "if (request.UserAgent != null)" branch in the wrong place: as a result BaseHttpServer would not do
anything if the user agent header field was present....ARGH! BAAAAAAD.
|
|
Fixes a bug in BaseRequestHandler.
If the length of the patter is equal to, or greater than, the length of
the actual request path, then an exception is thrown. System using is
added to support use of String.Empty. Exception is used to ensure most
efficient operation on (assumed to be most common) successful case.
|
|
This patch adds an additional handler to the existing BaseHttpServer.
It does not affect any of the existing behaviors except insofar as the
new handler may be selected.
It is selected first because its Agent-oriented nature means that it
should not be pre-empted. The new handler type is defined by IHttpAgentHandler
in Framework/Servers and has two interface methods: Match and Handle.
The Match function returns a boolean result based upon examination of
information presented in the User-Agent header.
The Handle function expects to get the request and response instances
associated with the flow. The handler is responsible for ALL activity
associated with the request except in the event of an unhandled exception,
in which case the HandleAgentRequest routine will generate a 500 status
message and close the stream.
There are two immediateley apparent (and VERY easy to implement)
improvements that could be made:
1. The Match call could be allowed to operate over the entire
request context., rather than just agent identity.
2. The Handler could return a boolean indication of whether or not
the request was actually handled, and if not, the remaining handler
mechanism could take a shot at it. This would eliminate issues
arising from pre-empted streams.
|
|
HttpListenerResponse respectively.
enhancing IStreamHandler and IStreamedHandler interfaces so that OSHttp{Request,Response} get passed in,
allowing RestHandlers to set response status code, redirections, etc.
|
|
|
|
* If extra stats not sent to the viewer are available on an opensim server, they are now uniformly accessible using the 'show stats' command
|
|
the attached patch set adds the (still work-in-progress but already
working) RestPlugin base class and the RestRegionPlugin code. we are using
XML serialization.
currently working:
GET /admin/regions/ -> returns UUID list of known regions
GET /admin/regions/<UUID> -> returns detailed region information
we'll be adding support for POST/DELETE/PUT and also for
/admin/regions/<UUID>/name etc.
|
|
|
|
|
|
the status of the region using the region http uri just passed in
* If the status cannot be retrieved, then the region startup will terminate.
* The aim of this is for earlier detection of situations where the region can send messages out but cannot accept incoming requests (often due to firewall issues)
* This is currently an extremely simplistic check which completely trusts whatever http uri is given by the region
* This contact may be problematic, though since the user service needs to be able to contact the region http uri, it doesn't seem unreasonable for the grid to have to be able to do so too at this stage
* This change will require a prebuild
|
|
This patch just tightens up console handling in BasOpenSimServer
and removes (or redirects) a couple of messages that were being issued
using Console.Writeline.
|
|
|
|
where appropriate
* This also means that the command quit (as well as shutdown) will now close down grid servers (instead of only being in place for the region server)
|
|
* Removed all references where possible.
* Renamed lots of variables from UDPServerXYZ to clientServerXYZ
|
|
ASCIIEncoder in places we shouldn't.
|
|
* Made a bunch more members static, removed some dead code, general cleaning.
|
|
received by a region from the inventory service
* This replaces the old behaviour of failing straight away, which could cause lost updates if the inventory service was slow in responding
* This is the first baby step to making all inventory requests behave this way, to reduce inventory lossage
|
|
(this took a while to run).
|
|
a response stream for a request which actually required no response, is closed
|
|
This patch makes the "Show in Search" checkbox on the viewer work. Additionally, I also discovered that show-in-search objects use the JointWheel flag, so this patch currently uses that flag. LibSL needs to add a flag to enum LLObject.ObjectFlags, "IncludeSearch = 32768" so we aren't using a legacy flag.
Additionally this patch also contains a small fix to BaseHTTPServer that lets the response content-type to be something other than text/html. For some reason this didn't get submitted with the DataSnapshot merge.
|
|
* Fixes an estate naming issue
* Fixes a land issue with the landobject not reporting the proper parcel prim.
* A few other tweaks.
|
|
duplicate sets of inventory data to be sent over the grid
* Won't actually fix anything, since we were handling the problem anyway
* Also add more doc, fix up debugging messages, etc
|
|
rather than having them disappear off into the ether
|
|
|
|
twice
* Other minor corrections to initial inventory contents
* These will only take affect for new users
|
|
non-home regions
* Should work in multi-region standalone and grid modes
* This should also solve other non-home region caps issues (map requests, RC client inventory requests, etc)
* We now pass CAPS information on to the destination region on region crossing, and set up a CAPS object when an agent becomes a master
* Current limitation is that this will only work if your http_listener_port is 9000
* This is a very early code cut (lots of bad practice, hard coding and inefficiency). However, I wanted to get this out there for feedback and my own sanity. Next few patches will clean up the mess.
|
|
* Now the operation will just fail and post a message to the log instead, which may be mysterious to the client but isn't so brutal
|
|
|
|
Removed verbose flag, since it doesn't do anything any more.
|
|
* Moved Flush into Close since it's always done in that order.
* Minor renamings
* Reversed if for clarity
|
|
compiled in DEBUG mode)... Its ugly and even requires a separate thread to track the treads, but it will be very valuable in debugging.
|
|
|
|
(There are actually other non-content requests too, but I didn't know what we wanted to do with them)
|
|
threads so it will be easier to debug.
|
|
region server on login
* This will make it more obvious if one accidentally starts one's region server in standalone rather than grid mode but then tries to login to a grid (as I am wont to do)
* We are now sending back a fault code (-32601) if no xmlrpc method is found rather than an ordinary message
|
|
If no scriptengine is specified then don't try to load any.
|
|
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
|
|
* The immediate upshot is that "show uptime" from the console will now show uptime on all server types (user, asset, grid, etc)
* DEV: This refactoring is far from complete - only just enough to makes the "show uptime" command common accross the servers. More is needed, but in this case it's somewhat like eating cabbage, which I prefer not to do all at once
|
|
* I intended to think about refactoring the servers to use this common base class, but temporary laziness won out.
* I'm leaving this here as a reminder/mind poke and for reasons of laziness (again)
* If people object to me leaving this kind of thing lying around, please say
|
|
* Typing 'stats' on the command line will given total number of successful logins today and yesterday
* A little bit more to come, probably
* Refactoring will follow next
|
|
* Cleaned up copyright notices in AssemblyInfo.cs's
* Added Copyright headers to a bunch of files missing them
* Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
|
|
recent release client(RC) on the linden labs download page.
* Don't forget, you need -loginuri *and* -loginpage
* Ex: -loginpage http://10.1.1.2:8002/?method=login -loginuri http://10.1.1.2:8002/
* The ?method=login is important, don't forget to add it
* If you customize your http_loginform.html file, be sure to keep the form post address as is.
|