private void SocketThreadSub(Stream clientStream) { using (var req = ProxyRequest.Parse(clientStream, false)) { Tunnel t = null; // HTTPS if (req.Method == "CONNECT") { // 호스트 확인하고 처리 var host = req.RemoteHost; switch (host) { case "userstream.twitter.com": t = new TunnelSslMitm(req, clientStream, Certificates.Client, this.HostStreaming); break; case "api.twitter.com": t = new TunnelSslMitm(req, clientStream, Certificates.Client, this.HostAPI); break; default: t = new TunnelSslForward(req, clientStream); break; } } // HTTP else { t = new TunnelPlain(req, clientStream); } using (t) t.Handle(); } }