| 78 | return decodedData; |
| 79 | } |
| 80 | |
| 81 | bool base64ToBinary(std::string_view base64, std::vector<uint8_t>& decodedData) { |
| 82 | return base64ToBinaryInternal(base64.data(), base64.size(), &decodedData); |
| 83 | } |
| 84 | |
| 85 | bool base64UrlToBinary(std::string_view base64url, std::vector<uint8_t>& decodedData) { |
| 86 | std::string standardBase64; |
| 87 | standardBase64.reserve(base64url.size() + 4); |
| 88 | standardBase64.append(base64url.data(), base64url.size()); |
| 89 | standardBase64.erase(std::remove(standardBase64.begin(), standardBase64.end(), '\n'), standardBase64.end()); |
| 90 | standardBase64.erase(std::remove(standardBase64.begin(), standardBase64.end(), '\r'), standardBase64.end()); |
| 91 | base64UrlToBase64InPlace(standardBase64); |
| 92 | if (standardBase64.empty()) { |
| 93 | decodedData.clear(); |
nothing calls this directly
no test coverage detected