|
|
|
@ -17,55 +17,6 @@ const std::string getFilenameExtension(std::string const& fileName) {
@@ -17,55 +17,6 @@ const std::string getFilenameExtension(std::string const& fileName) {
|
|
|
|
|
return ""; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* get an document from a url |
|
|
|
|
* @param url url string |
|
|
|
|
* @return '' or a string with the found document |
|
|
|
|
*/ |
|
|
|
|
const std::string getDocumentFromURL(const std::string &url) { |
|
|
|
|
int slashes = 0; |
|
|
|
|
for (unsigned int i = 0; i < url.length(); i++) { |
|
|
|
|
if (url[i] == '/') { |
|
|
|
|
slashes++; |
|
|
|
|
if (slashes == 3) { |
|
|
|
|
return url.substr(i, url.length() - i); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return ""; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* get host from a url |
|
|
|
|
* @param url url string |
|
|
|
|
* @return '' or a string with the found host |
|
|
|
|
*/ |
|
|
|
|
const std::string getHostFromURL(const std::string &url) { |
|
|
|
|
auto colonDoubleSlash = url.find("://"); |
|
|
|
|
if (colonDoubleSlash != std::string::npos) { |
|
|
|
|
auto startPos = colonDoubleSlash + 3; |
|
|
|
|
auto thirdSlash = url.find("/", startPos); |
|
|
|
|
if (thirdSlash == std::string::npos) { |
|
|
|
|
return url.substr(startPos); |
|
|
|
|
} |
|
|
|
|
return url.substr(startPos, thirdSlash - startPos); |
|
|
|
|
} |
|
|
|
|
return ""; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* get scheme from a url |
|
|
|
|
* @param url url string |
|
|
|
|
* @return '' or a string with the found protocol |
|
|
|
|
*/ |
|
|
|
|
const std::string getSchemeFromURL(const std::string &url) { |
|
|
|
|
auto colonDoubleSlash = url.find("://"); |
|
|
|
|
if (colonDoubleSlash != std::string::npos) { |
|
|
|
|
return url.substr(0, colonDoubleSlash); |
|
|
|
|
} |
|
|
|
|
return ""; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* convert string to lowercase |
|
|
|
|
* @param str string |
|
|
|
|