Add prometheus support (#950)

Fixes #888
This commit is contained in:
Sergey Kuznetsov
2023-11-02 17:26:03 +00:00
committed by GitHub
parent 320ebaa5d2
commit a16b680a7a
50 changed files with 4322 additions and 178 deletions

View File

@@ -17,6 +17,7 @@
*/
//==============================================================================
#include <fmt/format.h>
#include <web/impl/AdminVerificationStrategy.h>
#include <ripple/protocol/digest.h>
@@ -49,9 +50,16 @@ PasswordAdminVerificationStrategy::isAdmin(RequestType const& request, std::stri
// No Authorization header
return false;
}
std::string userAuth(it->value());
std::transform(userAuth.begin(), userAuth.end(), userAuth.begin(), ::toupper);
return passwordSha256_ == userAuth;
auto userAuth = it->value();
if (!userAuth.starts_with(passwordPrefix)) {
// Invalid Authorization header
return false;
}
userAuth.remove_prefix(passwordPrefix.size());
std::string userPasswordHash;
userPasswordHash.reserve(userAuth.size());
std::transform(userAuth.begin(), userAuth.end(), std::back_inserter(userPasswordHash), ::toupper);
return passwordSha256_ == userPasswordHash;
}
std::shared_ptr<AdminVerificationStrategy>