mirror of
https://github.com/savoirfairelinux/opendht.git
synced 2026-11-08 04:21:51 +00:00
http: fix & test url with https but empty service
This commit is contained in:
1 parent
7270c353df
commit
87f6f3df8b
3 files changed
+19
-1
No files matched your search
+3
-1
@@ -43,8 +43,10 @@ Url::Url(const std::string& url): url(url)
|
||||
const size_t proto_end = url.find("://");
|
||||
if (proto_end != std::string::npos){
|
||||
addr_begin = proto_end + 3;
|
||||
if (url.substr(0, proto_end) == "https")
|
||||
if (url.substr(0, proto_end) == "https"){
|
||||
protocol = "https";
|
||||
service = protocol;
|
||||
}
|
||||
}
|
||||
// host and service
|
||||
size_t addr_size = url.substr(addr_begin).find("/");
|
||||
|
||||
@@ -53,6 +53,20 @@ HttpTester::test_parse_url() {
|
||||
CPPUNIT_ASSERT(parsed.target == "/");
|
||||
}
|
||||
|
||||
void
|
||||
HttpTester::test_parse_https_url_no_service() {
|
||||
// Arrange
|
||||
std::string url = "https://jami.net/";
|
||||
// Act
|
||||
dht::http::Url parsed (url);
|
||||
// Assert
|
||||
CPPUNIT_ASSERT(parsed.url == url);
|
||||
CPPUNIT_ASSERT(parsed.protocol == "https");
|
||||
CPPUNIT_ASSERT(parsed.host == "jami.net");
|
||||
CPPUNIT_ASSERT(parsed.service == "https");
|
||||
CPPUNIT_ASSERT(parsed.target == "/");
|
||||
}
|
||||
|
||||
void
|
||||
HttpTester::test_parse_url_no_prefix_no_target() {
|
||||
// Arrange
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace test {
|
||||
class HttpTester : public CppUnit::TestFixture {
|
||||
CPPUNIT_TEST_SUITE(HttpTester);
|
||||
CPPUNIT_TEST(test_parse_url);
|
||||
CPPUNIT_TEST(test_parse_https_url_no_service);
|
||||
CPPUNIT_TEST(test_parse_url_no_prefix_no_target);
|
||||
CPPUNIT_TEST(test_parse_url_target);
|
||||
CPPUNIT_TEST(test_parse_url_query);
|
||||
@@ -57,6 +58,7 @@ class HttpTester : public CppUnit::TestFixture {
|
||||
* Test parse urls
|
||||
*/
|
||||
void test_parse_url();
|
||||
void test_parse_https_url_no_service();
|
||||
void test_parse_url_no_prefix_no_target();
|
||||
void test_parse_url_target();
|
||||
void test_parse_url_query();
|
||||
|
||||
Reference in new issue
Block a user