1 #include "processing.hpp" 2 3 #include <boost/algorithm/string/predicate.hpp> 4 5 bool getWellKnown( 6 const boost::container::flat_map<std::string, std::string>& owners, 7 const std::string& request, std::string& wellKnown) 8 { 9 // If it's already a well known name, just return 10 if (!boost::starts_with(request, ":")) 11 { 12 wellKnown = request; 13 return true; 14 } 15 16 auto it = owners.find(request); 17 if (it == owners.end()) 18 { 19 return false; 20 } 21 wellKnown = it->second; 22 return true; 23 } 24 25 bool needToIntrospect(const std::string& processName, 26 const WhiteBlackList& whiteList, 27 const WhiteBlackList& blackList) 28 { 29 auto inWhitelist = 30 std::find_if(whiteList.begin(), whiteList.end(), 31 [&processName](const auto& prefix) { 32 return boost::starts_with(processName, prefix); 33 }) != whiteList.end(); 34 35 // This holds full service names, not prefixes 36 auto inBlacklist = blackList.find(processName) != blackList.end(); 37 38 return inWhitelist && !inBlacklist; 39 } 40