summaryrefslogtreecommitdiff
path: root/indra/llmessage/llcurl.h
AgeCommit message (Collapse)Author
2014-06-02Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-drtvwr-365.Stinson Linden
2014-05-13sunshine-external merge WIPBrad Payne (Vir Linden)
2014-04-23MAINT-4009: Cleaning up the curl easy handle during shutdown.Stinson Linden
2013-10-16mergeBrad Payne (Vir Linden)
2013-10-08merge from viewer-releaseRichard Linden
2013-07-18SH-4297 WIP interesting: viewer-interesting starts loading cached scene lateRichard Linden
dependency cleanup - removed a lot of unecessary includes
2013-05-21mergeBrad Payne (Vir Linden)
2013-05-09Merge downstream code and viewer-betasimon
2013-04-25Revert ares and libcurl version update that was causing problems, revise curlsimon
handle duplication code. Reviewed by Kelly
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-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-02-28Improve curl/ares init behavior by duping handles instead of calling easy_initGraham Madarasz (Graham)
2012-10-10pull back 3.4.1-beta6 fixesOz Linden
2012-10-03Fix non-thread-safe refcounting of LLHTTPClient::Responder and fix ↵Dave Parks
out-of-order deletion of LLTextureFetch on shutdown
2012-06-26v-r to drano merge conflicts wipBrad Payne (Vir Linden)
2012-05-25fix for SH-3137: delay to issue new http fetching requests if http ↵Xiaohong Bao
connection failure happens
2012-05-24fix for VWR-28996: Texture stalls and threading modelsXiaohong Bao
2012-03-08fix for MAINT-701: crash at LLCurl::Multi::markDead()Xiaohong Bao
reviewed by davep
2012-02-03fix for SH-2941: crash at LLCurl::Easy::~Easy()Xiaohong Bao
2012-01-25Introduce two new parameters "CurlUseMultipleThreads" and ↵Xiaohong Bao
"CurlRequestTimeOut" for QA to test Curl.
2012-01-25fix for SH-2904: textures remain stuck in HTP stateXiaohong Bao
2012-01-12trivial: fix a mac build error.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-04mergeBrad Payne (Vir Linden)
2011-12-20add mutex to protect curl_multi-init()Xiaohong Bao
2011-12-15fix for SH-2738 and SH-2777, might also help SH-2723: heap corruptionXiaohong Bao
SH-2738: Texture fetching freezes due to LLcurl SH-2777: viewer crashed on logout in LLCurl::Easy::releaseEasyHandle
2011-12-15fix for SH-2738 and SH-2777, might also help SH-2723: heap corruptionXiaohong Bao
SH-2738: Texture fetching freezes due to LLcurl SH-2777: viewer crashed on logout in LLCurl::Easy::releaseEasyHandle
2011-12-05SH-2652 WIP -- Add timers to relevant areas, pause render pipeline while ↵Dave Parks
occlusion queries from previous frame are still pending and perform texture decode work.
2011-11-29fix a mac build error: a friend declaration issue.Xiaohong Bao
2011-11-29mergeDave Parks
2011-11-21fix for sh-2601: [crashhunters] crash in LLBufferArray::countAfter()Xiaohong Bao
sh-2602: [crashhunters] crash on exit in ~LLPumpIO()
2011-10-05Automated merge with ssh://hg.lindenlab.com/richard/viewer-experience-fuiRichard Nelson
2011-09-14Trying to fix Mac build issueBrad Payne (Vir Linden)
2011-09-13STORM-1562 Potential fix for crash in LLCurl::run -- don't run ↵Dave Parks
curl_multi_perform from multiple threads simultaneously.
2011-09-06Renamed LLCurl::check_curl_code() and LLCurl::check_curl_multi_code() to ↵Logan Dethrow
prevent ambiguous name build error.
2011-09-06LLProxy code review fixes.Logan Dethrow
* Removed check_curl_code and check_curl_multi_code from the global namespace. * Added comments documenting which thread the public methods of LLProxy should be called from. * Corrected grammar in LLSingleton.h * Fixed a buffer scope problem in llpacketring.cpp.
2011-08-08mergeLogan Dethrow
2011-08-02SH-2183 Thread local storage initialization is unreliable.Dave Parks
2011-08-02SH-2183 Only apply multi-threaded curl on the main thread.Dave Parks
2011-08-01SH-2183 Add a debug setting to control whether or not to use multiple ↵Dave Parks
threads in LLCurl
2011-07-28Proxy cleanup in llstartup.cpp and llproxy.cpp.Logan Dethrow
2011-07-28MergeLogan Dethrow
2011-07-25merging latest viewer-development to mesh merge candidate.Nyx (Neal Orman)
2011-07-21SH-2031 Don't do network I/O from the main thread in llcurl.Dave Parks
Reviewed by Kelly
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-06-20fix for SH-1870: can not upload book_collection_1.dae when include texturesXiaohong Bao
2010-10-13correct licenses (fix problem with license change merge)Oz Linden
2010-08-25mergeDave Parks
2010-07-22EXT-7145 - Handle http redirects in viewer properly. Didn't work before.Palmer
Reviewed by Bao and Babbage