aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-09-06If the GetTexture capability receives a request for a range of data beyond ↵Justin Clark-Casey (justincc)1-5/+29
that of an otherwise valid asset, return HTTP PartialContent rather than RequestedRangeNotSatisfiable. This is because recent viewers (3.2.1, 3.3.4) and probably earlier ones using the http GetTexture capability will sometimes make such invalid range requests. This appears to happen if the viewer's estimate of texture sizes at discard levels > 0 (chiefly 2) exceeds the total texture size. I believe this does not normally happen but can occur for dynamic textures with are large but mainly blank. If this happens, returning a RequestedRangeNotSatisfiable will cause the viewer to not render the texture at the final resolution. However, returning a PartialContent (or OK) even with 0 data will allow the viewer to render the final texture.
2012-06-13Don't include time to transmit response back to requester when assessing ↵Justin Clark-Casey (justincc)1-2/+0
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-05-03Implement optional name and description on http stream handlers so that we ↵Justin Clark-Casey (justincc)1-2/+2
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.
2011-12-09Add commented log lines to FetchInventoryDescendents2 path for future use.Justin Clark-Casey (justincc)1-3/+9
Haven't been able to resolve issue where attachments are removed by the viewer on relog on a localhost
2011-12-05Implement IOSHttpRequest and IOSHttpResponse http interfaces and use instead ↵Justin Clark-Casey (justincc)1-3/+3
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-12-05For the GetTexture capability, if a data range is requested that covers the ↵Justin Clark-Casey (justincc)1-14/+25
whole asset length, return HTTP PartialContent instead of NotFound NotFound is obviously wrong, and this change stops viewer 3.2.2 (and v probably earlier) complaining in the log about missing textures that are actually present. We still return PartialContent even if the range requested is a superset of the data range as per httpd's behaviour https://issues.apache.org/bugzilla/show_bug.cgi?id=51878 Viewer 3.2.2 and very probably earlier appear happy with this. Whether fixing this NotFound bug has any practical effect apart from resolve viewer log messages is unknown.
2011-12-01refactor: Separate the upload baked texture handler out from BunchOfCapsJustin Clark-Casey (justincc)1-3/+1
2011-09-09Save the default terrain texture UUIDs for a new region instead of leaving ↵Justin Clark-Casey (justincc)1-3/+2
them as UUID.Zero. Leaving them at UUID.Zero meant that when a viewer 2 logged into a region that had been freshly created, it received UUID.Zero for these textures, and hence display the land as plain white. On a simulator restart, the problem would go away since when the database adapators loaded the new region settings, RegionSettings itself has code to use default textures instead of UUID.Zero. This commit resolves the problem by saving the default texture UUIDs instead of Zero. However, we currently have to do this in a roundabout way by resaving once the RegionSettings have been created by the database for the first time. This needless complexity should be addressed. This change will also have the effect of replacing any existing UUID.Zero terrain textures with the default ones. However, this shouldn't have any effect since the UUID.Zeros were already being replaced in memory with those same UUIDs.
2011-05-08Comment verbose debug message in GetTextureDiva Canto1-1/+1
2011-05-02Refactored the GetMesh module into a handler and a module, to be the same as ↵Diva Canto1-0/+0
GetTexture.
2011-05-02Works!Diva Canto1-1/+2
2011-05-01Added OpenSim.Capabilities.Handlers. For the moment it has only the ↵Diva Canto1-54/+6
GetTexture handler. The region module in Linden space uses it. WARNING: nothing of this works yet, it just compiles.
2011-04-30Nope, that didn't feel right. Moving all those modules to Linden space.Diva Canto1-1/+3
2011-04-30Moved several cap-based-service-providing modules from where they were into ↵Diva Canto1-1/+1
a newly created CoreModules/Caps. Not all.
2011-02-02Comment out texture CAPS 'texture not found' message for nowJustin Clark-Casey (justincc)1-3/+1
2011-01-18Prune some of the excess logging for client logins.Justin Clark-Casey (justincc)1-2/+2
Didn't touch the appearance related stuff.
2010-12-08Fixed wrong commentDiva Canto1-1/+1
2010-12-08Fixed previous compile error -- I haven't pushed the CreatorID in AssetBase ↵Diva Canto1-1/+1
yet...
2010-12-08Added ability for GetTexture to serve multiple formats. The format may come ↵Diva Canto1-42/+202
as an extra query parameter in the URL format=<format> (this was tested and working) or it may come in the Accept header (code added, but not tested). The result of the conversion is placed in the asset cache, under the name <uuid>-<format>.
2010-10-09Fix a typo in previouis commit: start must not pass the end of the fileLatif Khalifa1-2/+2
2010-10-09weird line endings fix commitTeravus Ovares (Dan Olivares)1-7/+7
2010-10-09Return error code instead of the last byte of the file if range is not ↵Latif Khalifa1-1/+9
satisfiable
2010-10-09In case when 1 single byte is requested (yes viewer does this)Latif Khalifa1-2/+2
start of the ranges gets clamped with a wrong value. In case of a texture with 601 byte long texture the viewer request range 0-599 first, then 600- in which case both start and end should be 600. End can also be 0, valid request for the firt byte of the file is 0-0. Thanks to Thickbrick for explaining how HTTP range header works.
2010-09-13* Fixing length calculations for HTTP texture downloads (the end byte is ↵John Hurliman1-4/+6
inclusive in Range: headers)
2010-06-30minor: comment out high volume texture serving module debug messageJustin Clark-Casey (justincc)1-2/+2
2010-06-30minor: comment out high volume texture serving module debug messageJustin Clark-Casey (justincc)1-2/+2
2010-06-22Security fix: Allow only textures to be fetched using HTTP texture capMelanie Thielker1-0/+12
2010-05-09* Fixed spamming the assets table with map tiles. The tile image ID is now ↵Diva Canto1-0/+2
stored in regionsettings. Upon generation of a new tile image, the old one is deleted. Tested for SQLite and MySql standalone. * Fixed small bug with map search where the local sim regions weren't found.
2010-04-08* Adds IAssetService.GetCached() to allow asset fetching from the local ↵John Hurliman1-0/+220
cache only * Adds GetTextureModule that implements the "GetTexture" capability, aka HTTP texture fetching. This is a significantly optimized path that does not require any server-side JPEG2000 decoding, texture priority queue, or UDP file transfer * Sanity check for null reference in LLClientView.RefreshGroupMembership()