Partial rollback of cl/467313603 to unblock Chromium merge

quic_toy_server is currently used as a basis for Chromium version of quic_server, and thus cannot depend on QuicEventLoop API (which currently works only on POSIX).

PiperOrigin-RevId: 468306591
diff --git a/quiche/quic/tools/quic_toy_server.cc b/quiche/quic/tools/quic_toy_server.cc
index 500e5a1..6b3c76f 100644
--- a/quiche/quic/tools/quic_toy_server.cc
+++ b/quiche/quic/tools/quic_toy_server.cc
@@ -4,20 +4,14 @@
 
 #include "quiche/quic/tools/quic_toy_server.h"
 
-#include <limits>
 #include <utility>
 #include <vector>
 
-#include "absl/strings/str_split.h"
-#include "url/third_party/mozilla/url_parse.h"
 #include "quiche/quic/core/quic_versions.h"
 #include "quiche/quic/platform/api/quic_default_proof_providers.h"
 #include "quiche/quic/platform/api/quic_socket_address.h"
-#include "quiche/quic/tools/connect_server_backend.h"
-#include "quiche/quic/tools/connect_tunnel.h"
 #include "quiche/quic/tools/quic_memory_cache_backend.h"
 #include "quiche/common/platform/api/quiche_command_line_flags.h"
-#include "quiche/common/platform/api/quiche_logging.h"
 
 DEFINE_QUICHE_COMMAND_LINE_FLAG(int32_t, port, 6121,
                                 "The port the quic server will listen on.");
@@ -45,54 +39,8 @@
 DEFINE_QUICHE_COMMAND_LINE_FLAG(bool, enable_webtransport, false,
                                 "If true, WebTransport support is enabled.");
 
-DEFINE_QUICHE_COMMAND_LINE_FLAG(
-    std::string, connect_proxy_destinations, "",
-    "Specifies a comma-separated list of destinations (\"hostname:port\") to "
-    "which the quic server will allow tunneling via CONNECT.");
-
 namespace quic {
 
-namespace {
-
-ConnectTunnel::HostAndPort ParseProxyDestination(
-    absl::string_view destination) {
-  url::Component username_component;
-  url::Component password_component;
-  url::Component host_component;
-  url::Component port_component;
-
-  url::ParseAuthority(destination.data(), url::Component(0, destination.size()),
-                      &username_component, &password_component, &host_component,
-                      &port_component);
-
-  // Only support "host:port"
-  QUICHE_CHECK(!username_component.is_valid() &&
-               !password_component.is_valid());
-  QUICHE_CHECK(host_component.is_nonempty() && port_component.is_nonempty());
-
-  QUICHE_CHECK_LT(static_cast<size_t>(host_component.end()),
-                  destination.size());
-  if (host_component.len > 2 && destination[host_component.begin] == '[' &&
-      destination[host_component.end() - 1] == ']') {
-    // Strip "[]" off IPv6 literals.
-    host_component.begin += 1;
-    host_component.len -= 2;
-  }
-  std::string hostname(destination.data() + host_component.begin,
-                       host_component.len);
-
-  int parsed_port_number = url::ParsePort(destination.data(), port_component);
-
-  // Require specified and valid port.
-  QUICHE_CHECK_GT(parsed_port_number, 0);
-  QUICHE_CHECK_LE(parsed_port_number, std::numeric_limits<uint16_t>::max());
-
-  return ConnectTunnel::HostAndPort(std::move(hostname),
-                                    static_cast<uint16_t>(parsed_port_number));
-}
-
-}  // namespace
-
 std::unique_ptr<quic::QuicSimpleServerBackend>
 QuicToyServer::MemoryCacheBackendFactory::CreateBackend() {
   auto memory_cache_backend = std::make_unique<QuicMemoryCacheBackend>();
@@ -107,21 +55,6 @@
   if (quiche::GetQuicheCommandLineFlag(FLAGS_enable_webtransport)) {
     memory_cache_backend->EnableWebTransport();
   }
-
-  if (!quiche::GetQuicheCommandLineFlag(FLAGS_connect_proxy_destinations)
-           .empty()) {
-    absl::flat_hash_set<ConnectTunnel::HostAndPort> connect_proxy_destinations;
-    for (absl::string_view destination : absl::StrSplit(
-             quiche::GetQuicheCommandLineFlag(FLAGS_connect_proxy_destinations),
-             ',', absl::SkipEmpty())) {
-      connect_proxy_destinations.insert(ParseProxyDestination(destination));
-    }
-    QUICHE_CHECK(!connect_proxy_destinations.empty());
-
-    return std::make_unique<ConnectServerBackend>(
-        std::move(memory_cache_backend), std::move(connect_proxy_destinations));
-  }
-
   return memory_cache_backend;
 }