/** * Die Package de.uhilger.neon.fm stellt eine Schnittstelle via HTTP bereit, * ueber die Dateien verwaltet werden koennen. In dieser Package sind die * Klassen enthalten, die den HTTP-Teil einer solchen Schnittstelle abdecken. * * Fuer die Ausfuehrung der auf diese Weise via HTTP bereitgestellten Dateioperationen * werden die Klassen der Package de.uhilger.fm verwendet. * *
* GET (Klasse FileList) * - Dateiinhalt ausliefern (URL ohne Slash am Ende) FileContent + FileList * - Ordnerinhalt auflisten (URL mit Slash am Ende) FileList * * PUT (Klasse FileManipulator) * - Inhalt einer einzelnen Datei anlegen oder ueberschreiben Writer * - Liste mit Dateien kopieren (?copyFrom) Mover * - Liste mit Dateien verschieben (?moveFrom) Mover * - einzelne Datei duplizieren (?duplicate) Duplicator * - einzelne Datei umbenennen (?renameTo) Renamer * - Ordner packen (?zip) Deflator * - Zip-Datei entpacken (?unzip) Inflator * * POST (Klasse FileCreator) * - Datei neu anlegen, unter neuem Namen, wenn schon existent (URL ohne Slash am Ende) * - Ordner anlegen oder Fehler 422, wenn schon existent (URL mit Slash am Ende) * * DELETE (Klasse FileEraser) * - Liste mit Dateien und Ordnern loeschen (rekursiv!) ** *
HTTP-Beispiele
* *HTTP GET fuer eine Datei innerhalb dieses Ordners liefert den Dateiinhalt aus
* *HTTP GET fuer einen Ordner liefert eine Liste von dessen Inhalt in JSON
* *HTTP PUT fuer eine Datei ueberschreibt eine bestehende Datei mit dem im Body * uebergebenen Inhalt oder legt eine Datei mit diesem Inhalt an
* *HTTP POST fuer eine Datei legt eine neue Datei mit dem im Body uebergebenen * Inhalt an oder erzeugt eine neue Datei mit einer laufenden Nummer, falls * diese Datei schon existiert
* *HTTP POST fuer einen Ordner legt einen neuen Ordner an wenn er noch nicht * existiert oder erzeugt einen HTTP-Fehler 422
* *HTTP DELETE loescht die Liste der Dateien und Ordner im Body
* *HTTP PUT ?copyFrom=pfad kopiert die Liste der Datei- oder Ordnernamen im Body * der Anfrage vom Pfad in 'copyFrom' zum Pfad dieser Anfrage. Jede Datei, die * im Ziel bereits existiert, bekommt im Ziel einen neuen Namen mit einer * laufenden Nummer. Bei Ordnern, die im Ziel bereits existieren, bekommt der * betreffende Ordner im Ziel zunaechst einen neuen Namen mit einer laufenden * Nummer, dann wird der Quellordner ans Ziel kopiert.
* *HTTP PUT ?moveFrom=pfad verschiebt die Liste der Datei- oder Ordnernamen im * Body der Anfrage vom Pfad in 'moveFrom' zum Pfad dieser Anfrage. Jede Datei, * die im Ziel bereits existiert, bekommt im Ziel einen neuen Namen mit einer * laufenden Nummer. Bei Ordnern, die im Ziel bereits existieren, bekommt der * betreffende Ordner im Ziel zunaechst einen neuen Namen mit einer laufenden * Nummer, dann wird der Quellordner ans Ziel kopiert.
* *HTTP PUT mit ?duplicate legt eine Kopie der Datei an
* *HTTP PUT mit '?renameTo=neuer Name' benennt die Datei oder den Ordner um, * sofern der neue Name noch nicht vergeben ist
* *HTTP PUT mit '?zip' packt den Ordner
* *HTTP PUT mit '?unzip' entpackt eine Datei
* *Namenskonventionen:
* Ein Pfad mit Schraegstrich ('/') am Ende bezeichnet einen Ordner
* Ein Pfad ohne Schraegstrich ('/') am Ende bezeichnet eine Datei