TROExtendedHTTPDispatcherList

Overview

This class is the wrapper around TInterfaceList to store references to extended HTTP dispatchers connected to the HTTP server channel instance.
This class is used internally by TROBaseHTTPServer and TROBaseSuperHTTPServer classes and is doubtfully needed for users.

Location

Implements

Instance Methods


constructor Create

Creates a new instance.

constructor Create(aOwner: IROHTTPServer)

Parameters:

  • aOwner:

ActivateDispatchers

procedure ActivateDispatchers

Clear

Clears the internal collection removing all references to dispatchers.

procedure Clear

DeactivateDispatchers

procedure DeactivateDispatchers

GetDispatcher

Allows to select a proper dispatcher to handle HTTP request with a given request path. Returns nil if no suitable dispatcher found. This method uses IROHTTPDispatcher.CanHandlePath call to each dispatcher stored in the collection to query is the path can be handled.

function GetDispatcher(apath: string): IROHTTPDispatcher

Parameters:

  • apath: The HTTP request path to be handled.

GetRODLReader

function GetRODLReader: TROCustomRODLReader

Register

Adds a reference to the dispatcher into the internal collection.

procedure Register(aDispatcher: IROHTTPDispatcher)

Parameters:

  • aDispatcher: The new dispatcher to add.

Unregister

Removes the reference to the dispatcher into the internal collection.

procedure Unregister(aDispatcher: IROHTTPDispatcher)

Parameters:

  • aDispatcher: The dispatcher to remove.