Skip to content

Commit a315e2b

Browse files
committed
Merge pull request #519 from leecoder/0.11-devel
Fix #499 - Parsing empty query parameters
2 parents b5f6838 + e7a88ad commit a315e2b

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ before_install:
2121
sudo apt-get update;
2222
fi
2323
- if [ "${CXX}" == "clang++" ] && [ ${BUILD_SHARED_LIBS} = "ON" ]; then
24-
curl -s http://cznic.dl.sourceforge.net/project/boost/boost/${BOOST_VER}/boost_${BOOST_VER//./_}.tar.bz2|tar xfj - -C ..;
24+
svn export http://svn.boost.org/svn/boost/tags/release/Boost_${BOOST_VER//./_} ../boost_${BOOST_VER//./_};
2525
export BOOST_ROOT=$TRAVIS_BUILD_DIR/../boost_${BOOST_VER//./_};
2626
fi
2727

boost/network/uri/accessors.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ struct key_value_sequence : spirit::qi::grammar<uri::const_iterator, Map()> {
2727
pair = key >> -('=' >> value);
2828
key =
2929
spirit::qi::char_("a-zA-Z_") >> *spirit::qi::char_("-+.~a-zA-Z_0-9/%");
30-
value = +spirit::qi::char_("-+.~a-zA-Z_0-9/%");
30+
value = *spirit::qi::char_("-+.~a-zA-Z_0-9/%");
3131
}
3232

3333
spirit::qi::rule<uri::const_iterator, Map()> query;

libs/network/test/uri/uri_test.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -566,3 +566,16 @@ BOOST_AUTO_TEST_CASE(issue_447_test) {
566566
uri::uri instance("http://[www.foo.com/");
567567
BOOST_REQUIRE(!uri::valid(instance));
568568
}
569+
570+
BOOST_AUTO_TEST_CASE(issue_499_test) {
571+
uri::uri instance(
572+
"http://www.example.com/path?param1&param2=&param3=value");
573+
BOOST_REQUIRE(uri::valid(instance));
574+
575+
std::map<std::string, std::string> queries;
576+
uri::query_map(instance, queries);
577+
BOOST_REQUIRE_EQUAL(queries.size(), std::size_t(3));
578+
BOOST_CHECK_EQUAL(queries["param1"], "");
579+
BOOST_CHECK_EQUAL(queries["param2"], "");
580+
BOOST_CHECK_EQUAL(queries["param3"], "value");
581+
}

0 commit comments

Comments
 (0)