Age | Commit message (Collapse) | Author |
|
The LLURI::buildHTTP() overloads that take an LLSD 'path' accept 'undefined',
LLSD::String and (LLSD::Array of LLSD::String). A sequence of path components
passed in an Array is constructed into a slash-separated path. There are unit
tests in lluri_test.cpp to exercise that case.
To my amazement, there were NO unit tests covering the case of an LLSD::String
path. The code for that case escaped and appended the entire passed string.
While that might be fine for a 'path' consisting of a single undecorated path
component, the available documentation does not forbid one from passing a path
containing slashes as well. But this had the dubious effect of replacing every
slash with %2F.
In particular, decomposing a URL string with one LLURI instance and
constructing another like it using LLURI::buildHTTP() was not symmetrical.
Having consulted with Richard, I made the string-path logic a bit more nuanced:
- The passed path string is split on slashes. Every path component is
individually escaped, then recombined with slashes into the final path.
- Duplicate slashes are eliminated.
- The presence or absence of a trailing slash in the original path string is
carefully respected.
Now that we've nailed down how it ought to behave -- added unit tests to
ensure that it DOES behave that way!!
|
|
|
|
|
|
|
|
|
|
Checker: STREAM_FORMAT_STATE
Function: encode_character(std::basic_ostream<char, std::char_traits<char>>&, char)
File: /indra/llcommon/lluri.cpp
|
|
merge -r119443 - basic slurl handling
ignore dead branch
|
|
svn+ssh://svn/svn/linden/branches/http_database/merge-03 into trunk. QAR-1462
|
|
svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165
|
|
(1) the LLLand class had to be forward declared in a cpp file that did not include llland.h
(2) ensure_equals(const char*, type, type) requires that type have an operator!=(type, type) defined.
(3) ensure_equals(const char*, type, type) is so overloaded that the compiler can have trouble picking the right version when it has to implicitly cast a std::string to "const char*" AND multiple valid casts exist for type --> S32, F32, etc. To solve this problem we must explicitly pass in a "const char*" instead of a std::string.
Reviewed with CG
|
|
svn+ssh://svn.lindenlab.com/svn/linden/branches/cmake-9-merge
dataserver-is-deprecated
for-fucks-sake-whats-with-these-commit-markers
|
|
compiling so I could run home...)
|
|
svn+ssh://svn.lindenlab.com/svn/linden/qa/maintenance-4-merge-76640
Redo of QAR-170, with correct range. Reviewed by CG.
|
|
svn+ssh://svn.lindenlab.com/svn/linden/branches/Branch_1-18-6-Viewer to pick up LLURI escaping fix and all other changes since last sync. Not reviewed.
|
|
|
|
auth merge
|
|
|
|
svn+ssh://svn/svn/linden/branches/new-license into release. only changes files which are not deployed or the comments section of code.
|
|
svn+ssh://svn/svn/linden/branches/mp-backbone-2 into release.
|
|
release to revert revision 66742 which was a merge from mp-backbone.
|
|
svn+ssh://svn/svn/linden/branches/mp-backbone into release
|
|
NOTE: r63705 is *not* the earliest rev# for dpo-3-bug-fix.
|
|
|
|
release
|
|
into release
|
|
into release
|
|
|
|
svn+ssh://svn.lindenlab.com/svn/linden/branches/release-candidate@59163 --> release
|
|
svn+ssh://svn.lindenlab.com/svn/linden/branches/maintenance --> release
|
|
|
|
|
|
|