summaryrefslogtreecommitdiff
path: root/indra/llmessage/llurlrequest.cpp
AgeCommit message (Collapse)Author
2014-05-13sunshine-external merge WIPBrad Payne (Vir Linden)
2013-11-06merge with releaseRichard Linden
2013-10-29Merge viewer-release => sunshine-internalDon Kjer
2013-10-15renamed TimeBlock to BlockTimerStatHandleRichard Linden
2013-09-05changed fast timer over to using macroRichard Linden
another attempt to move mem stat into base class
2013-08-16merge with viewer-releaseNyx Linden
2013-08-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-07-11Adding support for COPY methods to httpclient. Implementing viewer-side use ↵Don Kjer
of AISv3 COPY library folder operation. (SH-4304)
2013-06-19Pull merge from lindenlab/viewer-releaseMerov Linden
2013-06-05merge with viewer-releaseRichard Linden
2013-06-05Unwind cruft from hunting for 2707 they won't end up in vwr-dev-matGraham Madarasz
2013-06-04BUG-2707 make use of OsOutputDebugString _DEBUG only on Windows to avoid ↵Graham Madarasz
throwing unhandlable exceptions in coroutines in RelWithDebInfo builds
2013-06-03BUG-2707 more logging crash huntingGraham Madarasz
2013-05-24SH-4027 WIP - initial implementation of item update via AIS.Brad Payne (Vir Linden)
2013-05-22Pull merge from viewer-releaseMerov Linden
2013-05-21mergeBrad Payne (Vir Linden)
2013-05-08Adding follow_redirects parameter to LLHTTPClient get/head variants. Not ↵Don Kjer
following redirects for facebook connect requests.
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-04-04Renaming HTTP_HEADER_* into HTTP_IN_HEADER_* and HTTP_OUT_HEADER_* to make ↵Don Kjer
it more clear which header strings should be used for incoming vs outgoing situations. Using constants for commonly used llhttpnode context strings.
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-22merge with viewer-releaseRichard Linden
2013-03-13Merging LLCURL::Responder changes with CHUI changes. Fixed gcc 4.6 compile ↵Don Kjer
failures
2013-03-13Large changes to the LLCurl::Responder API, as well as pulling in some ↵Don Kjer
changes to common libraries from the server codebase: * Additional error checking in http handlers. * Uniform log spam for http errors. * Switch to using constants for http heads and status codes. * Fixed bugs in incorrectly checking if parsing LLSD xml resulted in an error. * Reduced spam regarding LLSD parsing errors in the default completedRaw http handler. It should not longer be necessary to short-circuit completedRaw to avoid spam. * Ported over a few bug fixes from the server code. * Switch mode http status codes to use S32 instead of U32. * Ported LLSD::asStringRef from server code; avoids copying strings all over the place. * Ported server change to LLSD::asBinary; this always returns a reference now instead of copying the entire binary blob. * Ported server pretty notation format (and pretty binary format) to llsd serialization. * The new LLCurl::Responder API no longer has two error handlers to choose from. Overriding the following methods have been deprecated: ** error - use httpFailure ** errorWithContent - use httpFailure ** result - use httpSuccess ** completed - use httpCompleted ** completedHeader - no longer necessary; call getResponseHeaders() from a completion method to obtain these headers. * In order to 'catch' a completed http request, override one of these methods: ** httpSuccess - Called for any 2xx status code. ** httpFailure - Called for any non-2xx status code. ** httpComplete - Called for all status codes. Default implementation is to call either httpSuccess or httpFailure. * It is recommended to keep these methods protected/private in order to avoid triggering of these methods without using a 'push' method (see below). * Uniform error handling should followed whenever possible by calling a variant of this during httpFailure: ** llwarns << dumpResponse() << llendl; * Be sure to include LOG_CLASS(your_class_name) in your class in order for the log entry to give more context. * In order to 'push' a result into the responder, you should no longer call error, errorWithContent, result, or completed. * Nor should you directly call httpSuccess/Failure/Completed (unless passing a message up to a parent class). * Instead, you can set the internal content of a responder and trigger a corresponding method using the following methods: ** successResult - Sets results and calls httpSuccess ** failureResult - Sets results and calls httpFailure ** completedResult - Sets results and calls httpCompleted * To obtain information about a the response from a reponder method, use the following getters: ** getStatus - HTTP status code ** getReason - Reason string ** getContent - Content (Parsed body LLSD) ** getResponseHeaders - Response Headers (LLSD map) ** getHTTPMethod - HTTP method of the request ** getURL - URL of the request * It is still possible to override completeRaw if you want to manipulate data directly out of LLPumpIO. * See indra/llmessage/llcurl.h for more information.
2013-03-11mergeprep
2013-01-24merging in viewer-beta.Nyx Linden
Most of the merge was clean, a couple conflicts. Brought over a couple patches manually for llpolymesh.
2012-11-16SH-3406 WIP convert fast timers to lltrace systemRichard Linden
got new fast timer code to compile and run
2012-11-14SH-3406 WIP convert fast timers to lltrace systemRichard Linden
cleaning up build moved most includes of windows.h to llwin32headers.h to disable min/max macros, etc streamlined Time class and consolidated functionality in BlockTimer class llfasttimer is no longer included via llstring.h, so had to add it manually in several places
2012-11-01misc error detection, debug coloration for avatar meshesBrad Payne (Vir Linden)
2012-10-29MAINT-1791 : Parcel media clear list crash. Reviewed by Kellysimon@Simon-PC.lindenlab.com
2012-08-01Merge back viewer-lion, which has viewer-development and down-stream fixessimon@Simon-PC.lindenlab.com
2012-07-20MAINT-570 Remove unused memory tracking system LLMemTypeDave Parks
2012-06-27Fix for linux build (skip llhttpclient unit tests that post to google.com)Dave Parks
2012-01-17add more exception handlings for llcurl fix.Xiaohong Bao
2012-01-12fix for SH-2845, SH-2846, SH-2847, SH-2851: curl crashes and out-of-memory ↵Xiaohong Bao
crashes.
2012-01-04fix for SH-2823 and SH-2824: crash in curl: LLBufferArray::countAfter() and ↵Xiaohong Bao
LLBufferArray::copyIntoBuffers reviewed by vir
2011-11-21fix for sh-2601: [crashhunters] crash in LLBufferArray::countAfter()Xiaohong Bao
sh-2602: [crashhunters] crash on exit in ~LLPumpIO()
2011-10-14Merge backout of b782a75c99e6Dave Parks
2011-10-14Backed out changeset b782a75c99e6Dave Parks
2011-08-31MergeXiaohong Bao
2011-08-16Backed out changeset 694594710de2Logan Dethrow
2011-08-15Backed out rev 42d5f5df0a6a. Code was apparently needed afterall.Logan Dethrow
2011-08-15LLProxy: Removed unneeded call to LLProxy::applyProxySettings, since it was ↵Logan Dethrow
already being called.
2011-07-28MergeLogan Dethrow
2011-07-21SH-2031 Don't do network I/O from the main thread in llcurl.Dave Parks
Reviewed by Kelly
2011-07-21STORM-1112 Protected LLProxy members during cross-thread calls to ↵Logan Dethrow
LLProxy::applyProxySettings()
2011-07-19STORM-1112 Added LLProxy::applyProxySettings() to apply proxy settings to ↵Logan Dethrow
curl handles. Added call to that function everywhere curl handles are created in the viewer.
2011-07-15Merge from viewer-developmentXiaohong Bao
2011-04-01VWR-25376 Enable compression for GET and POST for Inventory and other ↵Aaron Stone
capabilities.
2011-02-05Introduces a LLThreadLocalData class that can beAleric Inglewood
accessed through the static LLThread::tldata(). Currently this object contains two (public) thread-local objects: a LLAPRRootPool and a LLVolatileAPRPool. The first is the general memory pool used by this thread (and this thread alone), while the second is intended for short lived memory allocations (needed for APR). The advantages of not mixing those two is that the latter is used most frequently, and as a result of it's nature can be destroyed and reconstructed on a "regular" basis. This patch adds LLAPRPool (completely replacing the old one), which is a wrapper around apr_pool_t* and has complete thread-safity checking. Whenever an apr call requires memory for some resource, a memory pool in the form of an LLAPRPool object can be created with the same life-time as this resource; assuring clean up of the memory no sooner, but also not much later than the life-time of the resource that needs the memory. Many, many function calls and constructors had the pool parameter simply removed (it is no longer the concern of the developer, if you don't write code that actually does an libapr call then you are no longer bothered with memory pools at all). However, I kept the notion of short-lived and long-lived allocations alive (see my remark in the jira here: https://jira.secondlife.com/browse/STORM-864?focusedCommentId=235356&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-235356 which requires that the LLAPRFile API needs to allow the user to specify how long they think a file will stay open. By choosing 'short_lived' as default for the constructor that immediately opens a file, the number of instances where this needs to be specified is drastically reduced however (obviously, any automatic LLAPRFile is short lived). *** Addressed Boroondas remarks in https://codereview.secondlife.com/r/99/ regarding (doxygen) comments. This patch effectively only changes comments. Includes some 'merge' stuff that ended up in llvocache.cpp (while starting as a bug fix, now only resulting in a cleanup). *** Added comment 'The use of apr_pool_t is OK here'. Added this comment on every line where apr_pool_t is correctly being used. This should make it easier to spot (future) errors where someone started to use apr_pool_t; you can just grep all sources for 'apr_pool_t' and immediately see where it's being used while LLAPRPool should have been used. Note that merging this patch is very easy: If there are no other uses of apr_pool_t in the code (one grep) and it compiles, then it will work. *** Second Merge (needed to remove 'delete mCreationMutex' from LLImageDecodeThread::~LLImageDecodeThread). *** Added back #include <apr_pools.h>. Apparently that is needed on libapr version 1.2.8., the version used by Linden Lab, for calls to apr_queue_*. This is a bug in libapr (we also include <apr_queue.h>, that is fixed in (at least) 1.3.7. Note that 1.2.8 is VERY old. Even 1.3.x is old. *** License fixes (GPL -> LGPL). And typo in comments. Addresses merov's comments on the review board. *** Added Merov's compile fixes for windows.
2010-08-24Backed out changeset c3d41f18ce2bTofu Linden
back-out the back-out for this branch. yay.