| 8751 | } |
| 8752 | |
| 8753 | inline std::string url_search_params::to_string() const { |
| 8754 | auto character_set = ada::character_sets::WWW_FORM_URLENCODED_PERCENT_ENCODE; |
| 8755 | std::string out{}; |
| 8756 | for (size_t i = 0; i < params.size(); i++) { |
| 8757 | auto key = ada::unicode::percent_encode(params[i].first, character_set); |
| 8758 | auto value = ada::unicode::percent_encode(params[i].second, character_set); |
| 8759 | |
| 8760 | // Performance optimization: Move this inside percent_encode. |
| 8761 | std::ranges::replace(key, ' ', '+'); |
| 8762 | std::ranges::replace(value, ' ', '+'); |
| 8763 | |
| 8764 | if (i != 0) { |
| 8765 | out += "&"; |
| 8766 | } |
| 8767 | out.append(key); |
| 8768 | out += "="; |
| 8769 | out.append(value); |
| 8770 | } |
| 8771 | return out; |
| 8772 | } |
| 8773 | |
| 8774 | inline void url_search_params::set(const std::string_view key, |
| 8775 | const std::string_view value) { |
no test coverage detected