_ZN7httplib6ServerC2Ev:
10971|      1|    : new_task_queue([] {
10972|      1|        return new ThreadPool(CPPHTTPLIB_THREAD_POOL_COUNT,
10973|      1|                              CPPHTTPLIB_THREAD_POOL_MAX_COUNT);
10974|      1|      }) {
10975|      1|#ifndef _WIN32
10976|      1|  signal(SIGPIPE, SIG_IGN);
10977|      1|#endif
10978|      1|}
_ZN7httplib6Server3GetERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_8functionIFvRKNS_7RequestERNS_8ResponseEEEE:
10991|      1|inline Server &Server::Get(const std::string &pattern, Handler handler) {
10992|      1|  return add_handler(get_handlers_, pattern, std::move(handler));
10993|      1|}
_ZN7httplib6Server11add_handlerINSt3__18functionIFvRKNS_7RequestERNS_8ResponseEEEEEERS0_RNS2_6vectorINS2_4pairINS2_10unique_ptrINS_6detail11MatcherBaseENS2_14default_deleteISG_EEEET_EENS2_9allocatorISL_EEEERKNS2_12basic_stringIcNS2_11char_traitsIcEENSM_IcEEEESK_:
 1800|      6|      const std::string &pattern, H handler) {
 1801|      6|    handlers.emplace_back(make_matcher(pattern), std::move(handler));
 1802|      6|    return *this;
 1803|      6|  }
_ZN7httplib6Server12make_matcherERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE:
10983|      6|Server::make_matcher(const std::string &pattern) {
10984|      6|  if (pattern.find("/:") != std::string::npos) {
  ------------------
  |  Branch (10984:7): [True: 0, False: 6]
  ------------------
10985|      0|    return detail::make_unique<detail::PathParamsMatcher>(pattern);
10986|      6|  } else {
10987|      6|    return detail::make_unique<detail::RegexMatcher>(pattern);
10988|      6|  }
10989|      6|}
_ZN7httplib6detail11MatcherBaseC2ENSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
 1545|      6|  MatcherBase(std::string pattern) : pattern_(std::move(pattern)) {}
_ZN7httplib6detail11make_uniqueINS0_12RegexMatcherEJRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEENS3_9enable_ifIXntsr3std8is_arrayIT_EE5valueENS3_10unique_ptrISD_NS3_14default_deleteISD_EEEEE4typeEDpOT0_:
  532|      6|make_unique(Args &&...args) {
  533|      6|  return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
  534|      6|}
_ZN7httplib6detail12RegexMatcherC2ERKNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE:
 1607|      6|      : MatcherBase(pattern), regex_(pattern) {}
_ZN7httplib6Server4PostERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_8functionIFvRKNS_7RequestERNS_8ResponseEEEE:
10995|      1|inline Server &Server::Post(const std::string &pattern, Handler handler) {
10996|      1|  return add_handler(post_handlers_, pattern, std::move(handler));
10997|      1|}
_ZN7httplib6Server3PutERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_8functionIFvRKNS_7RequestERNS_8ResponseEEEE:
11005|      1|inline Server &Server::Put(const std::string &pattern, Handler handler) {
11006|      1|  return add_handler(put_handlers_, pattern, std::move(handler));
11007|      1|}
_ZN7httplib6Server5PatchERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_8functionIFvRKNS_7RequestERNS_8ResponseEEEE:
11015|      1|inline Server &Server::Patch(const std::string &pattern, Handler handler) {
11016|      1|  return add_handler(patch_handlers_, pattern, std::move(handler));
11017|      1|}
_ZN7httplib6Server6DeleteERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_8functionIFvRKNS_7RequestERNS_8ResponseEEEE:
11025|      1|inline Server &Server::Delete(const std::string &pattern, Handler handler) {
11026|      1|  return add_handler(delete_handlers_, pattern, std::move(handler));
11027|      1|}
_ZN7httplib6Server7OptionsERKNSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_8functionIFvRKNS_7RequestERNS_8ResponseEEEE:
11035|      1|inline Server &Server::Options(const std::string &pattern, Handler handler) {
11036|      1|  return add_handler(options_handlers_, pattern, std::move(handler));
11037|      1|}

LLVMFuzzerInitialize:
   68|      1|extern "C" int LLVMFuzzerInitialize(int * /*argc*/, char *** /*argv*/) {
   69|      1|  g_server.Get(R"(.*)",
   70|      1|               [&](const httplib::Request & /*req*/, httplib::Response &res) {
   71|      1|                 res.set_content("response content", "text/plain");
   72|      1|               });
   73|      1|  g_server.Post(R"(.*)",
   74|      1|                [&](const httplib::Request & /*req*/, httplib::Response &res) {
   75|      1|                  res.set_content("response content", "text/plain");
   76|      1|                });
   77|      1|  g_server.Put(R"(.*)",
   78|      1|               [&](const httplib::Request & /*req*/, httplib::Response &res) {
   79|      1|                 res.set_content("response content", "text/plain");
   80|      1|               });
   81|      1|  g_server.Patch(R"(.*)",
   82|      1|                 [&](const httplib::Request & /*req*/, httplib::Response &res) {
   83|      1|                   res.set_content("response content", "text/plain");
   84|      1|                 });
   85|      1|  g_server.Delete(
   86|      1|      R"(.*)", [&](const httplib::Request & /*req*/, httplib::Response &res) {
   87|      1|        res.set_content("response content", "text/plain");
   88|      1|      });
   89|      1|  g_server.Options(
   90|      1|      R"(.*)", [&](const httplib::Request & /*req*/, httplib::Response &res) {
   91|      1|        res.set_content("response content", "text/plain");
   92|      1|      });
   93|      1|  return 0;
   94|      1|}

