/** * Get request variable value. */ private static String getRequestVariableValue(FtpIoSession session, FtpRequest request, String varName) { String varVal = null; if (request == null) { return ""; } // request line if (varName.equals(REQUEST_LINE)) { varVal = request.getRequestLine(); } // request command else if (varName.equals(REQUEST_CMD)) { varVal = request.getCommand(); } // request argument else if (varName.equals(REQUEST_ARG)) { varVal = request.getArgument(); } return varVal; }
/** * Notifies the {@link FTPCallback} that a request to rename a file finished * * @see FTPCallback#onRenameEnd */ @Override public FtpletResult onRenameEnd(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); File renameTo = new File(workingDir, fileName); File renameFrom = new File(session.getRenameFrom().getAbsolutePath()); return toFtpResult(callback.onRenameEnd(user, workingDir, renameFrom, renameTo)); }
/** * Notifies the {@link FTPCallback} of a request to rename a file * * @see FTPCallback#onRenameStart */ @Override public FtpletResult onRenameStart(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); File renameTo = new File(workingDir, fileName); File renameFrom = new File(session.getRenameFrom().getAbsolutePath()); return toFtpResult(callback.onRenameStart(user, workingDir, renameFrom, renameTo)); }
/** * Notifies the {@link FTPCallback} of make directory requests * * @see FTPCallback#onMakeDirStart */ @Override public FtpletResult onMkdirStart(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String dirName = request.getArgument(); return toFtpResult(callback.onMakeDirStart(user, workingDir, dirName)); }
/** * Notifies the {@link FTPCallback} of requests to append content to an existing file * * @see FTPCallback#onAppendStart */ @Override public FtpletResult onAppendStart(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); return toFtpResult(callback.onAppendStart(user, workingDir, fileName)); }
/** * Notifies the {@link FTPCallback} of a finished request to append content to an existing file * * @see FTPCallback#onAppendEnd */ @Override public FtpletResult onAppendEnd(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); return toFtpResult(callback.onAppendEnd(user, workingDir, fileName)); }
/** * Notifies the {@link FTPCallback} of file delete requests * * @see FTPCallback#onDeleteStart */ @Override public FtpletResult onDeleteStart(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); return toFtpResult(callback.onDeleteStart(user, workingDir, fileName)); }
/** * Notifies the {@link FTPCallback} of file upload requests * * @see FTPCallback#onUploadStart */ @Override public FtpletResult onUploadStart(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); return toFtpResult(callback.onUploadStart(user, workingDir, fileName)); }
/** * Notifies the {@link FTPCallback} of remove directory success * * @see FTPCallback#onRemoveDirEnd */ @Override public FtpletResult onRmdirEnd(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String dirName = request.getArgument(); return toFtpResult(callback.onRemoveDirEnd(user, workingDir, dirName)); }
/** * Notifies the {@link FTPCallback} of file download requests * * @see FTPCallback#onDownloadStart */ @Override public FtpletResult onDownloadStart(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); return toFtpResult(callback.onDownloadStart(user, workingDir, fileName)); }
/** * Notifies the {@link FTPCallback} of file download success * * @see FTPCallback#onDownloadEnd */ @Override public FtpletResult onDownloadEnd(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); return toFtpResult(callback.onDownloadEnd(user, workingDir, fileName)); }
/** * Notifies the {@link FTPCallback} of remove directory requests * * @see FTPCallback#onRemoveDirStart */ @Override public FtpletResult onRmdirStart(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String dirName = request.getArgument(); return toFtpResult(callback.onRemoveDirStart(user, workingDir, dirName)); }
/** * Notifies the {@link FTPCallback} of file deletion success * * @see FTPCallback#onDeleteEnd */ @Override public FtpletResult onDeleteEnd(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); return toFtpResult(callback.onDeleteEnd(user, workingDir, fileName)); }
/** * Notifies the {@link FTPCallback} of file upload success * * @see FTPCallback#onUploadEnd */ @Override public FtpletResult onUploadEnd(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); return toFtpResult(callback.onUploadEnd(user, workingDir, fileName)); }
/** * Notifies the {@link FTPCallback} of make directory success * * @see FTPCallback#onMakeDirEnd */ @Override public FtpletResult onMkdirEnd(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String dirName = request.getArgument(); return toFtpResult(callback.onMakeDirEnd(user, workingDir, dirName)); }
char stru = request.getArgument().charAt(0); try { session.setStructure(Structure.parseArgument(stru)); LOG .debug("Illegal structure argument: " + request.getArgument(), e); session .write(LocalizedFtpReply
/** * Notifies the {@link FTPCallback} of a "upload unique file" request to the current directory. * <p> * This has effectively the same effect than {@link #onUploadStart(FtpSession, FtpRequest)} for * the purposes of this module? See <a * href="http://www.nsftools.com/tips/RawFTP.htm#STOU">here</a> * </p> * * @see FTPCallback#onUploadStart */ @Override public FtpletResult onUploadUniqueStart(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); return toFtpResult(callback.onUploadStart(user, workingDir, fileName)); }
/** * Notifies the {@link FTPCallback} that an "upload unique file" to the current directory has * finished. * <p> * This has effectively the same effect than {@link #onUploadEnd(FtpSession, FtpRequest)} for * the purposes of this module? See <a * href="http://www.nsftools.com/tips/RawFTP.htm#STOU">here</a> * </p> * * @see FTPCallback#onUploadEnd */ @Override public FtpletResult onUploadUniqueEnd(FtpSession session, FtpRequest request) throws FtpException, IOException { UserDetails user = user(session.getUser()); File workingDir = workingDir(session); String fileName = request.getArgument(); return toFtpResult(callback.onUploadEnd(user, workingDir, fileName)); }
/** * Execute command. */ public void execute(final FtpIoSession session, final FtpServerContext context, final FtpRequest request) throws IOException { // reset state variables session.resetState(); // print global help if (!request.hasArgument()) { session.write(LocalizedFtpReply.translate(session, request, context, FtpReply.REPLY_214_HELP_MESSAGE, null, null)); return; } // print command specific help if available String ftpCmd = request.getArgument().toUpperCase(); MessageResource resource = context.getMessageResource(); if (resource.getMessage(FtpReply.REPLY_214_HELP_MESSAGE, ftpCmd, session.getLanguage()) == null) { ftpCmd = null; } session.write(LocalizedFtpReply.translate(session, request, context, FtpReply.REPLY_214_HELP_MESSAGE, ftpCmd, null)); } }
dirName = request.getArgument();