handleRnto method

void handleRnto(
  1. String argument,
  2. FtpSession session
)

Implementation

void handleRnto(String argument, FtpSession session) {
  if (session.serverType == ServerType.readOnly) {
    session.sendResponse('550 Command not allowed in read-only mode');
    return;
  }

  if (argument.isEmpty) {
    session.sendResponse('501 Syntax error in parameters or arguments');
    return;
  }

  // Check if RNFR was called first
  if (session.pendingRenameFrom == null) {
    session.sendResponse('503 Bad sequence of commands');
    return;
  }

  try {
    // Perform the rename operation
    session.renameFileOrDirectory(session.pendingRenameFrom!, argument);
  } catch (e) {
    // Clear the pending rename state on error
    session.pendingRenameFrom = null;
    rethrow;
  }
}