Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Kommandoreplies im Indy 10 FTP Server (https://www.delphipraxis.net/111785-kommandoreplies-im-indy-10-ftp-server.html)

Loc2262 9. Apr 2008 10:17


Kommandoreplies im Indy 10 FTP Server
 
Hallo zusammen!

Folgende Frage: kann ich in der FTP-Server Komponente von Indy 10 - ohne Änderungen am Indy-Quellcode - bei Kommandos wie RetrieveFile oder DeleteFile einen Statuscode wie "530 Not allowed" zurückmelden?

Ich möchte z.B. im DeleteFile Event testen, ob der User überhaupt die Berechtigung hat, die Datei zu löschen. Falls nicht, und ich das Löschen somit unterlasse, sollte Indy auch einen Errorcode zurückmelden und nicht "250 File action okay". Ich sehe in DeleteFile aber keine Möglichkeit, Indy dies mitzuteilen.

Vielen Dank schonmal für Tips!


Schönen Gruß,
Frank

SirThornberry 9. Apr 2008 12:42

Re: Kommandoreplies im Indy 10 FTP Server
 
Vorab - ich habe bisher nur mit Indy9 gearbeitet

du bekommst doch bei dem Commando eigentlich etwas übergeben wo du den entsprechenden Statuscode setzen kannst oder nicht? Wenn du ein eigenes Command machst geht es über "Sender.Reply.SetReply(code, 'text')"
in einem Handler der schon implementiert ist hab ich es bisher gemacht das ich eine Exception erzeuge. Bei der Exception kann man den Text angeben und der Fehlercode sollte durch den übergeordneten handler automaitsch gesetzt werden.

Loc2262 9. Apr 2008 13:01

Re: Kommandoreplies im Indy 10 FTP Server
 
Thanks Thornberry! :)

Einen Parameter für den Statuscode gibts (z.B.) im OnDeleteFile-Event gerade dummerweise nicht, aber die Idee mit der Exception hat funktioniert. Zumindest kann man einen "550" mit wählbarem Fehlertext erzeugen. Optimal wäre natürlich, wenn man Returncode und Text selbst bestimmen könnte, wie es in der Tat bei Commandhandlern der Fall ist.

SirThornberry 9. Apr 2008 13:41

Re: Kommandoreplies im Indy 10 FTP Server
 
du könntest durch einen eigenen commandhandler einfach den vordefinierten von DeleteFile überschreiben :duck:

Loc2262 9. Apr 2008 15:00

Re: Kommandoreplies im Indy 10 FTP Server
 
:coder2:

Das stimmt sicher, für so einfache Dinge wie Delete geht das auch. Allerdings sollte auch z.B. RetrieveFile Berechtigungen unterstützen, und den kompletten Downloadhandler wollte ich nicht unbedingt neucoden. Der ist etwas komplexer. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz