Class FileActor


  • public class FileActor
    extends Object
    Version:
    1, 11.06.2021
    Author:
    Ulrich Hilger
    • Constructor Detail

      • FileActor

        public FileActor()
    • Method Detail

      • serveFileParts

        public void serveFileParts​(com.sun.net.httpserver.HttpExchange e,
                                   File file)
                            throws IOException
        Einen Teil des Inhalts einer Datei ausliefern Wenn eine Range angefragt wird, hat die Antwort einen Content-Range Header wie folgt: Content-Range: bytes 0-1023/146515 Content-Length: 1024 Wenn mehrere Ranges angefragt werden, hat die Antwort mehrere Content-Range Header als Multipart Response. Multipart Responses fehlen dieser Implementierung noch. (vgl. https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests)
        Parameters:
        e - das Objekt mit Methoden zur Untersuchung der Anfrage sowie zum Anfertigen und Senden der Antwort
        file - die Datei, deren Inhalt teilweise ausgeliefert werden soll
        Throws:
        IOException - falls etwas schief geht entsteht dieser Fehler
      • parseRanges

        protected RangeGroup parseRanges​(com.sun.net.httpserver.HttpExchange e,
                                         File file)
        Die Byte-Ranges aus dem Range-Header ermitteln. Der Range-Header kann unterschiedliche Abschnitte bezeichnen, Beispiele: Range: bytes=200-1000, 2000-6576, 19000- Range: bytes=0-499, -500 (vgl. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range)
        Parameters:
        e - das Objekt mit Methoden zur Untersuchung der Anfrage sowie zum Anfertigen und Senden der Antwort
        file - die Datei, deren Inhalt ausgeliefert werden soll
        Returns:
        die angefragten Byte-Ranges
      • contentRangeHdr

        protected String contentRangeHdr​(Range range,
                                         File file)
        Einen Content-Range Header erzeugen
        Parameters:
        range - die Range, aus deren Inhalt der Header erzeugt werden soll
        file - die Datei, die den Inhalt liefert, der vom Header bezeichnet wird
        Returns:
        der Inhalt des Content-Range Headers