Commit Graph

19 Commits

Author SHA1 Message Date
Lirusaito
f95830fe23 Extend fuctionality of non-SL capability 2013-02-11 19:12:17 -05:00
Lirusaito
cff7a2a464 Brought in Script Limits from v-d! (Accessible from About Land) 2013-02-11 01:12:21 -05:00
Shyotl
e622e03d2a Bulk of server-baking impelmentation and a bit of cleanup. 2013-01-13 02:37:12 -06:00
Inusaito Sayori
5468bc8447 Fix compile warning/error in aihttptimeoutpolicy.cpp 2012-12-25 04:53:16 -05:00
Shyotl
3ca39ab3f1 Client-side maturity handling when teleporting. Adds new notification that asks if you want to change maturity settings with a single click and automatically re-fire the teleport request. 2012-12-25 02:30:51 -06:00
Lirusaito
c24950b261 Merge branch 'master' of https://github.com/singularity-viewer/SingularityViewer
Conflicts:
	indra/newview/llfloateravatarpicker.cpp - Includes to v-d style, since plain alphabetical just won't cut it. Shyotl's changes for name system, here.
	indra/newview/llpanelgroupinvite.cpp - Shyotl's changes for name system, here.

Also corrected new README to have less typos and be slightly more accurate.
2012-12-10 11:24:25 -05:00
Shyotl
4f7e869509 Merge branch 'master' of https://github.com/AlericInglewood/SingularityViewer.git into CT3Merge 2012-12-08 01:03:29 -06:00
Shyotl
3ba967bdc1 Update to LLAvatarNameCache and consumers. 2012-12-08 00:59:37 -06:00
Lirusaito
2c48161595 Make Baker's Group code compile! Thanks Shyotl~
Note: Large groups still don't load?!
SimConsole cap is needed for Sim Console, won't work without it, keeping it in!
..But it should work with the new ASync one? Maybe needs tweaks, first?

Also switches opening IMs to the gCacheName->getFullName(id, name) system mentioned earlier, my connection has improved!
And makes the Avatar Picker show display names! Yay! (Rearranged the includes there, alphabetical~)
Also fallback to gCacheName->getFullName(id, name) if getting name fails in the new system.. hopefully this will combat occasional big failures.. but it may not work anyway.. maybe my connection is just awful again
2012-12-04 11:54:54 -05:00
Aleric Inglewood
fce64f8f12 Add LLWebProfile and responders.
Adds finding and using libjsoncpp. Note that the old cmake file
found libjson, not the same thing.

Adds Debug Setting WebProfileNonProductionURL (next to already existing
WebProfileURL) to mimic V3's behavior and use a different URL for aditi.
These Debug Settings are using by (the new) getProfileURL() (copied
from V3 with just a minor fix).

Adds HippoGridInfo::isInProductionGrid() next to the existing
LLViewerLogin::isInProductionGrid that always returned true.
The former should only be called SL grids and then only returns
true for agni (and false for aditi et al). The latter was changed
to now always return true except on SL when the grid isn't agni.
The first is used for SL-only cases, the latter for things like
colors and for godmode decision logic.

V3's llwebprofile.cpp was fixed to compile on singu, with only real
difference that I dropped the Content-Type headers for the GET methods.
2012-11-16 02:00:06 +01:00
Aleric Inglewood
586d8fdf21 Compile fixes for gcc 4.2 (Mac) 2012-11-13 01:01:19 +01:00
Siana Gearz
303c74f4c9 Merge branch 'master' of git://github.com/Lirusaito/SingularityViewer
Conflicts:
	indra/llmessage/llurlrequest.cpp
	indra/newview/llvoavatar.cpp
2012-11-12 06:46:58 +01:00
Aleric Inglewood
1e1f5e8193 Fix windows compile errors/warnings 2012-11-01 03:18:00 +01:00
Aleric Inglewood
6033a76870 Print more debug output. Remove last AIFIXME 2012-10-30 21:37:49 +01:00
Aleric Inglewood
3708d55ef9 Allow changing CurlTimeout Debug Settings on the fly.
Same for NoVerifySSLCert and CurlConcurrentConnections.
2012-10-30 21:18:15 +01:00
Aleric Inglewood
65e012c540 More curl fixes and changes.
* Moved LegacyPolledResponder::mCode to ResponderBase::mCode.
* Added a parameter to ResponderBase::finished (and pubError*) to set mCode.
* Renamed ResponderBase::decode_body to decode_llsd_body and added ResponderBase::decode_raw_body.
* Use LegacyPolledResponder::finished instead of LegacyPolledResponder::completed_headers
  to set remaining cached values.
* Fixed assertion in case of -DCWDEBUG and upload finish detection failure in case of HEAD
  method (mDebugIsGetMethod -> mDebugIsHeadOrGetMethod).
* Add XmlTreeInjector : support for LLXmlTree.
* Split BlockingResponder into BlockingLLSDResponder and BlockingRawResponder.
* Final blocking responders are now: BlockingLLSDPostResponder, BlockingLLSDGetResponder
  and BlockingRawGetResponder.
* Added LLHTTPClient::blockingGetRaw
* Got rid of hipporestrequest.* -- and fixed hippogridmanager.cpp to use
  LLHTTPClient::blockingGetRaw instead, and fixed llviewermessage.cpp to use
  AICurlInterface::ResponderWithCompleted and decode_raw_body instead of
  HippoRestHandlerRaw and LLHTTPClient::get4 instead of HippoRestRequest::get5.
2012-10-28 17:38:25 +01:00
Aleric Inglewood
2a88f7d7c4 ResponderAdapter stuff
Renamed AICurlInterface::Responder to AICurlInterface::ResponderBase,
but without the virtual 'event' methods.
Derived from that: Responder and ReponderWithCompleted, where the
first defines result = 0, ErrorWithContent and error, and the latter
completedRaw and completed.
Added HttpClient::IgnoreBody, derived from Responder and implementing
'result' doing nothing; HttpClient::Ignore is now derived from
IgnoreBody and defines the still pure virtual getHTTPTimeoutPolicy.

Added ResponderBase::decode_body, which is now the sole place
where the code makes the decision wether some response data might be
LLSD or not based on the http status result. Before it just tried
to decode everything as LLSD, which seems a bit nonsense.

ResponderWithCompleted::completed no longer does anything, since
classes derived from ResponderWithCompleted are expected to override it,
or never call it by overriding completedRaw.

Entry point is now ResponderBase::finished = 0, instead of
completedRaw, where ResponderWithCompleted implements finished by
called completedRaw, but Responder doesn't: that directly calls
result/errorWithContent/error. Or, for the hack ResponderAdapter,
the entry points are pubResult/pubErrorWithContent.
Those are now the ONLY public methods, so more confusion.
mFinished is now set in all cases.

As a result of all that, it is no longer possible to accidently
pass a responder to ResponderAdapter that would break because it
expects completed() and completedRaw() to be called.

Added LLBufferArray::writeChannelTo.

Fixed bug for BlockingResponder::body (returned reference to temporary).

LLSDMessage::ResponderAdapter now allows a "timeoutpolicy" name
to be passed (not doing so results in the default timings), so
that the timeout policy of the used responder is retained.

Fixed llfasttimerview.cpp to test LLSDSerialize::fromXML() to return
a positive value instead of non-zero, because it may return -1 when the
parsing fails (three places).

Removed LLHTTPClient::Responder as base class from
LLFloaterRegionDebugConsole completely: it isn't a responder!

Several other responder classes were simplified a bit in order to
compile again with the above changes.
2012-10-26 04:13:29 +02:00
Aleric Inglewood
7f50b2ba7b Add XMLRPC support to LLHTTPClient and that instead of LLXMLRPCTransaction 2012-10-22 01:59:17 +02:00
Aleric Inglewood
3f1fb9a66e Add improved timeout handling for HTTP transactions.
Introduces AIHTTPTimeoutPolicy objects which do not just
specify a single "timeout" in seconds, but a plethora of
timings related to the life cycle of the average HTTP
transaction.

This knowledge is that moved to the Responder being
used instead of floating constants hardcoded in the
callers of http requests. This assumes that the same
timeout policy is wanted for each transaction that
uses the same Responder, which can be enforced is needed.

I added a AIHTTPTimeoutPolicy for EVERY responder,
only to make it easier later to tune timeout values
and/or to get feedback about which responder runs
into HTTP errors in debug output (especially time outs),
so that they can be tuned later. If we already understood
exactly what we were doing then most responders could
have been left alone and just return the default timeout
policy: by far most timeout policies are just a copy
of the default policy, currently.

This commit is not finished... It's a work in progress
(viewer runs fine with it though).
2012-10-05 15:53:29 +02:00