/// <exception cref="System.IO.IOException"></exception> /// <exception cref="NGit.Transport.Resolver.ServiceNotEnabledException"></exception> /// <exception cref="NGit.Transport.Resolver.ServiceNotAuthorizedException"></exception> internal virtual void Execute(Socket sock) { rawIn = new BufferedInputStream(sock.GetInputStream()); rawOut = new SafeBufferedOutputStream(sock.GetOutputStream()); if (0 < daemon.GetTimeout()) { sock.ReceiveTimeout = daemon.GetTimeout() * 1000; } string cmd = new PacketLineIn(rawIn).ReadStringRaw(); int nul = cmd.IndexOf('\0'); if (nul >= 0) { // Newer clients hide a "host" header behind this byte. // Currently we don't use it for anything, so we ignore // this portion of the command. // cmd = Sharpen.Runtime.Substring(cmd, 0, nul); } DaemonService srv = GetDaemon().MatchService(cmd); if (srv == null) { return; } sock.ReceiveTimeout = 0; srv.Execute(this, cmd); }
/// <exception cref="System.IO.IOException"></exception> internal virtual void Execute(Socket sock) { rawIn = new BufferedInputStream(sock.GetInputStream()); rawOut = new BufferedOutputStream(sock.GetOutputStream()); if (0 < daemon.GetTimeout()) { sock.ReceiveTimeout = daemon.GetTimeout() * 1000; } string cmd = new PacketLineIn(rawIn).ReadStringRaw(); int nul = cmd.IndexOf('\0'); if (nul >= 0) { // Newer clients hide a "host" header behind this byte. // Currently we don't use it for anything, so we ignore // this portion of the command. // cmd = Sharpen.Runtime.Substring(cmd, 0, nul); } DaemonService srv = GetDaemon().MatchService(cmd); if (srv == null) { return; } sock.ReceiveTimeout = 0; srv.Execute(this, cmd); }