Class PatternDelegator
- java.lang.Object
-
- de.uhilger.httpserver.base.handler.FileHandler
-
- de.uhilger.httpserver.base.handler.PatternDelegator
-
- All Implemented Interfaces:
com.sun.net.httpserver.HttpHandler
public class PatternDelegator extends FileHandler
Der PatternDelegator delegiert HTTP-Aufrufe an HttpHandler, indem der URL des Aufrufs mit einem Muster verglichen wird. Zu einem bestimmten Muster passende URLs werden an den zum Muster hinterlegten HttpHandler weitergegeben. Wird kein passendes Muster gefunden, reicht der PatternDelegator die Anfrage an den FileHandler weiter, wodurch - sofern vorhanden - die vom URL bezeichnete Ressource ausgeliefert wird.- Version:
- 1, 29.06.2021
- Author:
- Ulrich Hilger
-
-
Field Summary
-
Fields inherited from class de.uhilger.httpserver.base.handler.FileHandler
ATTR_FILE_BASE, ATTR_WELCOME_FILES, CONTENT_LENGTH, CONTENT_RANGE_HEADER, CONTENT_TYPE, RANGE_HEADER, RANGE_PATTERN, SC_FORBIDDEN, SC_METHOD_NOT_ALLOWED, SC_NOT_FOUND, SC_OK, SC_PARTIAL_CONTENT, SC_UNPROCESSABLE_ENTITY, STR_BLANK, STR_COMMA, STR_DASH, STR_DOT, STR_SLASH, WELCOME_FILE
-
-
Constructor Summary
Constructors Constructor Description PatternDelegator()
Ein neues Objekt der Klasse PatternDelegator erzeugen
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addHandler(String pattern, HandlerDescriptor handler)
Diesem Delegator einen HttpHandler hinzufuegenvoid
handle(com.sun.net.httpserver.HttpExchange exchange)
Eine HTTP-Anfrage ausfuehren, indem das Muster des URL mit den Mustern verglichen wird, die fuer diesen Delegator hinterlegt wurden und die Anfrage an den HttpHandler delegiert wird, dessen Aufrufmuster passtvoid
removeHandler(String pattern)
Einen HttpHandler von diesem Delegator entfernen
-
-
-
Method Detail
-
addHandler
public void addHandler(String pattern, HandlerDescriptor handler)
Diesem Delegator einen HttpHandler hinzufuegen- Parameters:
pattern
- das Muster, das ein URL treffen muss, damit der hier hinzugefuegte Handler aufgerufen wirdhandler
- der Handler, an den dieser Delegator eine Anfrage delegiert, wenn das Muster passt
-
removeHandler
public void removeHandler(String pattern)
Einen HttpHandler von diesem Delegator entfernen- Parameters:
pattern
- das Muster, das dem HttpHandler zugeordnet ist, der entfernt werden soll
-
handle
public void handle(com.sun.net.httpserver.HttpExchange exchange) throws IOException
Eine HTTP-Anfrage ausfuehren, indem das Muster des URL mit den Mustern verglichen wird, die fuer diesen Delegator hinterlegt wurden und die Anfrage an den HttpHandler delegiert wird, dessen Aufrufmuster passt- Specified by:
handle
in interfacecom.sun.net.httpserver.HttpHandler
- Overrides:
handle
in classFileHandler
- Parameters:
exchange
- das Objekt mit allen Infos zu Anfrage und Antwort- Throws:
IOException
- wenn etwas nicht geklappt hat
-
-