MCPcopy Create free account
hub / github.com/Tablecruncher/tablecruncher / encode_url

Function encode_url

external/httplib.h:2671–2701  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2669}
2670
2671inline std::string encode_url(const std::string &s) {
2672 std::string result;
2673 result.reserve(s.size());
2674
2675 for (size_t i = 0; s[i]; i++) {
2676 switch (s[i]) {
2677 case ' ': result += "%20"; break;
2678 case '+': result += "%2B"; break;
2679 case '\r': result += "%0D"; break;
2680 case '\n': result += "%0A"; break;
2681 case '\'': result += "%27"; break;
2682 case ',': result += "%2C"; break;
2683 // case ':': result += "%3A"; break; // ok? probably...
2684 case ';': result += "%3B"; break;
2685 default:
2686 auto c = static_cast<uint8_t>(s[i]);
2687 if (c >= 0x80) {
2688 result += '%';
2689 char hex[4];
2690 auto len = snprintf(hex, sizeof(hex) - 1, "%02X", c);
2691 assert(len == 2);
2692 result.append(hex, static_cast<size_t>(len));
2693 } else {
2694 result += s[i];
2695 }
2696 break;
2697 }
2698 }
2699
2700 return result;
2701}
2702
2703inline std::string decode_url(const std::string &s,
2704 bool convert_plus_to_space) {

Callers 1

write_requestMethod · 0.85

Calls 2

appendMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected