23 #ifndef XROOTD_XRDOUCPRIVATEUTILS_HH
24 #define XROOTD_XRDOUCPRIVATEUTILS_HH
30 #include <unordered_set>
31 #include <string_view>
38 const std::string_view subdir)
40 if (subdir.size() < dir.size() || dir.empty())
43 if (subdir.compare(0, dir.size(), dir, 0, dir.size()) != 0)
46 return dir.size() == subdir.size() || subdir[dir.size()] ==
'/' || dir.back() ==
'/';
65 void stripCgi(std::string& url,
const std::unordered_set<std::string> &cgiKeys);
void stripCgi(std::string &url, const std::unordered_set< std::string > &cgiKeys)
static bool is_subdirectory(const std::string_view dir, const std::string_view subdir)
std::string obfuscateAuth(const std::string &input)