The server doesn't implement a 'put' command, the
client does.
The
supported() method is for checking what RAW commands the server
supports.
Things like these:
The following commands are implemented.
USER EPRT STRU ALLO DELE SYST RMD MDTM
PASS EPSV MODE REST CWD STAT PWD PROT
QUIT LPRT RETR RNFR LIST HELP CDUP PBSZ
PORT LPSV STOR RNTO NLST NOOP STOU AUTH
PASV TYPE APPE ABOR SITE MKD SIZE
Let me update:
To be more specific and make more sense, the supported() method checks if the server supports the actual *raw* command. See this link: FTP Command Aliases