[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Lackmann1994/esp32_https_server/master/src/util.cpp [Back]  [Original]

#include "util.hpp"

namespace httpsserver {

uint32_t parseUInt(std::string const &s, uint32_t max) {
  uint32_t i = 0; // value

  // Check sign
  size_t x = 0;
  if (s[0]=='+') {
    x = 1;
  }

  // We device max by 10, so we can check if we would exceed it by the next *10 multiplication
  max/=10;

  // Convert by base 10
  for(; x < s.size(); x++) {
    char c = s[x];
    if (i < max) {
      if (c >= '0' && c= 0; x--) {
    char v = (i%10);
    c[x] = '0' + v;
    i = (i-v)/10;
  }

  return std::string(c);
}

}

std::string urlDecode(std::string input) {
  std::size_t idxReplaced = 0;
  // First replace + by space
  std::size_t idxFound = input.find('+');
  while (idxFound != std::string::npos) {
    input.replace(idxFound, 1, 1, ' ');
    idxFound = input.find('+', idxFound + 1);
  }
  // Now replace percent-escapes
  idxFound = input.find('%');
  while (idxFound != std::string::npos) {
    if (idxFound 

Web Proxy Viewer  |  New URL  |  Original Page