Back to product page

Command notification


Called when user enters the command.

Syntax

  • Basic
object.Command Owner, User, CmdLine
The Command(object,Owner,User,CmdLine) syntax has these parts:
objectAn expression evaluating to an object of type wodFTPDNotify.
OwnerA wodFTPDCom object. Reference to wodFTPServer instance that called this notification method.
UserA FtpUser object. Reference to user who entered the command.
CmdLineA String value. Full command line string, as entered by the user.

Remarks

NOTE: This method is called only if you implemented IwodFTPDNotify interface in your application, and wodFTPD.Notification property has received reference to instance of your implementation.

Command notification method is called on each command executed by the client. You will receive the command in this notification method before command arrives to wodFTPServer commands processor - meaning you can change it, or even implement your own functionality for the command.

When you do interfere with user's commands, you must be aware that client does not know that you will change default implementation, and the client awaits for proper response - one he expects. Also, you should not violate protocol specification, because you will confuse the client and he will have to disconnect from the server.

Typical example would be to change CmdLine from "LIST" to "NLST" - in order to change behavior of the wodFTPServer, but still not to affect client's request. If you do this change, wodFTPServer will see your changes - and react on them, just as they would be entered by the client.

Also, you can set CmdLine = "". When you do that, wodFTPServer will silently ignore the command, and will not send anything to the client. Obviously - client is expecting some response. This means that you must implement some response by yourself, using User.Send method - but still following the protocol rules. Example for this would be implementing different SITE cmd commands, where you send some response, and set CmdLine = "" so wodFTPServer doesn't send one more (different?) response.

Platforms

Windows