23#ifndef XROOTD_XRDOUCPRIVATEUTILS_HH
24#define XROOTD_XRDOUCPRIVATEUTILS_HH
30#include <unordered_set>
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() ==
'/';
65void stripCgi(std::string& url,
const std::unordered_set<std::string> &cgiKeys);
77void splitHostCgi(std::string_view target, std::string &host,
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)
void splitHostCgi(std::string_view target, std::string &host, std::string &cgi)
std::string obfuscateAuth(const std::string &input)