Commit Graph

26 Commits (d19e6abc5e165691afe43bfa50111dbf60228efe)

Author SHA1 Message Date
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
Nat Goodspeed c4096f670c SL-10153: Review and rationalize fetching paths from environment.
Use LLStringUtil::getenv() or getoptenv() whenever we fetch a string that will
be used as a pathname.

Use LLFile::tmpdir() instead of getenv("TEMP").

As an added extra-special bonus, finally clean up $TMP/llcontrol-test-zzzzzz
directories that have been accumulating every time we run a local build!
2018-12-14 15:38:13 -05:00
Nat Goodspeed c92eb7e591 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2016-08-30 11:36:06 -04:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Nat Goodspeed 107b9bcb70 MAINT-5232: Introduce SUBSYSTEM_CLEANUP() macro
and use it for existing LLSomeClass::cleanupClass() calls.
This logs the fact of making the call, as well as making it.
2015-05-20 10:56:09 -04:00
Nyx Linden 5ae117aff6 merge with viewer-release 2013-08-16 19:31:16 -04:00
Brad Payne (Vir Linden) a04a706c1b merge 2013-05-21 16:18:48 -04:00
Graham Madarasz 025c890958 Merge vwr-dev-mat 2013-05-01 08:11:15 -07:00
Graham Madarasz 806d09b114 Merge 3.5.1 into Materials 2013-04-30 19:50:05 -07:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
Don Kjer beeefb4526 Renaming HTTP_HEADER_* into HTTP_IN_HEADER_* and HTTP_OUT_HEADER_* to make it more clear which header strings should be used for incoming vs outgoing situations.
Using constants for commonly used llhttpnode context strings.
2013-04-04 21:50:45 +00:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Don Kjer f945415210 Large changes to the LLCurl::Responder API, as well as pulling in some 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-13 06:26:25 +00:00
Nyx Linden 11fe124ae9 merging in viewer-beta.
Most of the merge was clean, a couple conflicts.
Brought over a couple patches manually for llpolymesh.
2013-01-24 16:22:49 -05:00
Nat Goodspeed 36f094d508 MAINT-2168: Backed out changeset fb93eecd462d, reapply fix
Now that we've backed out the premature push, reapply the actual fix to
propagate it appropriately.
2012-12-21 09:03:06 -05:00
Nat Goodspeed 144fcf62fb MAINT-2168: Backed out changeset 797318b62275, pushed to wrong repo
This changeset was prematurely pushed to the wrong repository. Back it out
to propagate it the right way.
2012-12-21 09:01:09 -05:00
Nat Goodspeed 747784a9b1 MAINT-2168: fail with real message if required var PORT not set.
llhttpclient_test.cpp is only supposed to be run by test_llsdmessage_peer.py,
as specified in llmessage/CMakeLists.txt. test_llsdmessage_peer.py sets the
environment variable PORT before running INTEGRATION_TEST_llhttpclient. While
it's not yet clear under what circumstances INTEGRATION_TEST_llhttpclient
could find PORT not set (getenv() returning NULL), it's obvious that in that
case, the previous code might well crash. Make it at least fail with an
explanatory message rather than a mysterious large negative integer. In
theory, occurrences of that message could help us solve the underlying issue.
2012-12-21 08:52:39 -05:00
prep e0432f98ee SH-3563. Pull and merge from viewer-development. Modest code changes to fix alignment issue in llAppearance. 2012-11-28 16:36:34 -05:00
Don Kjer 95f3fb45ae Cherry-picked windows build fixes from sunshine-experimental 2012-09-24 19:42:58 +00:00
Dave Parks 20e1f567d5 Fix for tests 2012-10-03 15:17:55 -05:00
William Todd Stinson a766e26db4 Backing out the changes contributing to DRTVWR-167 and DRTVWR-179 from the repository. 2012-09-10 10:37:02 -07:00
simon@Simon-PC.lindenlab.com 08c6c5b78d Added test back in, skip() call need to be removed. 2012-06-29 14:30:44 -07:00
Dave Parks db5d1b851a merge 2012-06-28 13:50:35 -05:00
Nat Goodspeed d167ebe35f MAINT-1144: Try to fix Windows build error in llhttpclient_test.cpp. 2012-06-07 05:46:47 -04:00
Nat Goodspeed 3d1cb7ef11 MAINT-1144: Re-enable skipped LLHTTPClient tests with local server.
Over the years we've skipped more and more of the tests in
llhttpclient_test.cpp (nee llhttpclient_tut.cpp) because they've relied on
particular behaviors from Internet sites not under our control.
We skipped a test that fetches llsd+xml from secondlife.com because
"secondlife.com is not reliable enough for unit tests."
We skipped a test that tries to observe a failure with "http://www.invalid"
because some local ISPs turn "no such domain" DNS errors into valid pages
offering the requester to buy the specified domain name.
Today we've had to skip tests attempting to contact "http://www.google.com"
for reasons we haven't yet diagnosed, but that probably have to do with
Google's IPv6 rollout.
Use local temp server test_llsdmessage_peer.py as the success destination,
eliminating DNS, Internet access and remote server behavior as failure modes.
Use idle localhost port for failure test.
Re-enable all skipped LLHTTPClient tests!
Re-enable on Windows!
In support of these tests, modify test_llsdmessage_peer.py:
Support HEAD as no-data variant of GET.
Change GET result dict to avoid resembling an error response -- confusing.
Make GET/POST return actual dict rather than undecorated string "success".
Because of that last, change llcapabilitylistener_test.cpp and
llsdmessage_test.cpp to extract "reply" key from response rather than
expecting response to be a string itself.
2012-06-06 23:12:11 -04:00
Nat Goodspeed cd05a244da MAINT-1144: Break out llhttpclient_tut as standalone integration test.
indra/test/llhttpclient_tut.cpp ==> indra/llmessage/tests/llhttpclient_test.cpp,
with corresponding CMakeLists.txt changes in their respective directories.
This first commit merely moves the test source file without changing it --
separating out moves from edits simplifies code review.
2012-06-06 19:57:58 -04:00