| 151 | } |
| 152 | |
| 153 | static std::string hmac_sha256_hex(std::string_view key, std::string_view data) { |
| 154 | char hash[65]; |
| 155 | return DoraXrtHmacSha256Hex(key.data(), key.size(), data.data(), data.size(), hash) ? std::string(hash) : std::string{}; |
| 156 | } |
| 157 | |
| 158 | static std::string canonicalize_query(std::vector<std::pair<std::string, std::string>> params) { |
| 159 | if (params.empty()) return {}; |
no test coverage detected