Zeta Components Manual :: Docs For Class ezcWebdavServerConfigurationManager
Webdav::ezcWebdavServerConfigurationManager
Class ezcWebdavServerConfigurationManager
Manages and dispatches server configurations.
An instance of this class is kept in the singleton instance of ezcWebdavServer and keeps track of different server configurations to be used with different clients.
Several special configurations exist per default:
- MS InternetExplorer compatible
- GNOME Nautilus compatible
Configurations can be accessed by the ArrayAccess and Iterator interfaces. To insert new configurations, the method insertBefore() should be used.
Source for this file: /Webdav/src/server_configuration_manager.php
Implements interfaces:
- ArrayAccess (internal interface)
- Iterator (internal interface)
Version: | //autogen// |
Member Variables
protected array(int=>ezcWebdavServerConfiguration) |
$configurations
= array()
Transport configurations to dispatch. |
Method Summary
public void |
__construct(
)
Creates a new dispatcher. |
protected void |
checkOffset(
$offset
)
Checks the given $offset for validity. |
protected void |
checkValue(
$value
)
Checks the given $value for validity. |
public void |
configure(
$server
, $userAgent
)
Configures the server for handling a request by the given User-Agent. |
public mixed |
current(
)
Implements current() for Iterator |
public void |
insertBefore(
$config
, [ $offset
= 0] )
Inserts a configuration right before a certain offset. |
public int |
key(
)
Implements key() for Iterator |
public mixed |
next(
)
Implements next() for Iterator |
public void |
offsetSet(
$offset
, $value
)
Array set access. |
public void |
rewind(
)
Implements rewind() for Iterator |
public boolean |
valid(
)
Implements valid() for Iterator |
Methods
__construct
Creates a new dispatcher.
This creates a new manager object and registers the default ezcWebdavServerConfiguration instances automatically. The last added configuration is the RFC compliant one, which matches for every client if no other configurations matched before. That means, all following should be added by insertBefore() to ensure, this catchall will not break the transfer layer.
checkOffset
Checks the given $offset for validity.
This method checks if the given $offset is either of type int, then larger 0 and not larger as the number of elements in $this->configurations, or null.
The method is primarily used in the ArrayAccess methods.
Parameters:
Name | Type | Description |
---|---|---|
$offset |
int|null |
Exceptions:
Type | Description |
---|---|
ezcBaseValueException |
if the given $offset is not an an int with the given criteria and not null. |
checkValue
Checks the given $value for validity.
This method checks if the given $value is either an instance of ezcWebdavServerConfiguration or null.
The method is primarily used in the ArrayAccess methods.
Parameters:
Name | Type | Description |
---|---|---|
$value |
ezcWebdavServerConfiguration|null |
Exceptions:
Type | Description |
---|---|
ezcBaseValueException |
if the given $value is not an instance of ezcWebdavServerConfiguration or null. |
configure
Configures the server for handling a request by the given User-Agent.
This method is used by ezcWebdavServer to determine the correct ezcWebdavTransport for the current request. It returns the ezcWebdavTransport created by the ezcWebdavServerConfiguration which matched the submitted User-Agent header first.
Per default, the RFC compliant default implementation ezcWebdavTransport is configured to catch all User-Agent headers for which no specific implementation could be found. If this configuration has been removed or manipulated incorrectly, an ezcWebdavMissingTransportConfigurationException might be thrown.
Parameters:
Name | Type | Description |
---|---|---|
$server |
ezcWebdavServer | |
$userAgent |
mixed |
Exceptions:
Type | Description |
---|---|
ezcWebdavMissingTransportConfigurationException |
if no ezcWebdavServerConfiguration could be found that matches the given $userAgent. |
current
Implements current() for Iterator
Implementation of:
Method | Description |
---|---|
Iterator::current |
insertBefore
Inserts a configuration right before a certain offset.
This method inserts a given $config right before the given $offset. The $offset must be of type integer and between 0 and the number of elements in $this->configurations minus 1.
If these preconditions do not match for the given $offset, an ezcBaseValueException is thrown.
Parameters:
Name | Type | Description |
---|---|---|
$config |
ezcWebdavServerConfiguration | |
$offset |
int |
Exceptions:
Type | Description |
---|---|
ezcBaseValueException |
if the given $offset is not an integer that is larger or equal to 0 and smaller than the number of elements in $this->configurations. |
key
Implements key() for Iterator
Implementation of:
Method | Description |
---|---|
Iterator::key |
next
Implements next() for Iterator
Implementation of:
Method | Description |
---|---|
Iterator::next |
offsetSet
Array set access.
Parameters:
Name | Type | Description |
---|---|---|
$offset |
string | |
$value |
string |
Implementation of:
Method | Description |
---|---|
ArrayAccess::offsetSet |
rewind
Implements rewind() for Iterator
Implementation of:
Method | Description |
---|---|
Iterator::rewind |
valid
Implements valid() for Iterator
Implementation of:
Method | Description |
---|---|
Iterator::valid |