Path

ez components / documentation / api reference / 2009.1.1 / webdav


eZ Components 2009.1.1

Webdav: ezcWebdavHeaderHandler

[ Tutorial ] [ Clients ] [ Plugin architecture ] [ Class tree ] [ Element index ] [ ChangeLog ] [ Credits ]

Class: ezcWebdavHeaderHandler

An instance of this class manages header parsing and handling. [source]
An object of this class takes care about headers in ezcWebdavTransport. It is responsible for parsing incoming headers and serialize outgoing ones. Like for the ezcWebdavPropertyHandler, the instance of this class that is used in the current transport layer must be accessable for plugins.

Member Variables

protected array(string) $defaultHeaders = array(
'Authorization',
'If-Match',
'If-None-Match',
)

List of headers that should be attempted to parse for every request.
protected array(string=>string) $headerMap = array(
'Authorization' => array(
'HTTP_AUTHORIZATION',
'PHP_AUTH_DIGEST',
'PHP_AUTH_USER',
),'Content-Length'=>array('HTTP_CONTENT_LENGTH','CONTENT_LENGTH',),'Content-Type'=>array('CONTENT_TYPE',),'Depth'=>array('HTTP_DEPTH',),'Destination'=>array('HTTP_DESTINATION',),'If-Match'=>array('HTTP_IF_MATCH'),'If-None-Match'=>array('HTTP_IF_NONE_MATCH'),'Overwrite'=>array('HTTP_OVERWRITE',),'Server'=>array('SERVER_SOFTWARE',),)

Map of regular header names to $_SERVER keys.

Method Summary

protected array(string) parseAuthorizationHeader( $value, $serverHeaderName )
Parses the Authorization header.
protected ezcWebdavBasicAuth parseBasicAuthorizationHeader( $value )
Parses the basic authorization header.
protected int|string parseDepthHeader( $value )
Parses the Depth header.
protected ezcWebdavDigestAuth|ezcWebdavBasicAuth parseDigestAuthorizationHeader( $value )
Parses the digest authorization header.
public mixed parseHeader( $headerName )
Parses a single header.
public array(string=>mixed) parseHeaders( [$headerNames = array()], [$defaultHeaders = true], $defaultHeaders )
Returns an array with the given headers.
protected array parseIfMatchHeader( $value )
Parses the If-Match and If-None-Match headers.
protected mixed processHeader( $headerName, $value, $serverHeaderName )
Processes a single header value.

Methods

parseAuthorizationHeader

array(string) parseAuthorizationHeader( string $value, string $serverHeaderName )
Parses the Authorization header.
Takes the string value of the Authorization header and parses it according to the Basic authentication scheme. The return value is an struct of either of the following classes:
In case the header is provided but does not contain a parseable value, the user and pass fields are null. The $serverHeaderName parameter indicates, which key from the $_SERVER array was used to extract the header.

Parameters

Name Type Description
$value string  
$serverHeaderName string  

parseBasicAuthorizationHeader

ezcWebdavBasicAuth parseBasicAuthorizationHeader( string $value )
Parses the basic authorization header.
Returns a struct of type ezcWebdavBasicAuth, containing the parsed values, or with empty username and password, if the header could not be parsed.

Parameters

Name Type Description
$value string  

parseDepthHeader

int|string parseDepthHeader( string $value )
Parses the Depth header.
Parses the values '0', '1' and 'infinity' into the corresponding constants:
  • {@linkezcWebdavRequest::DEPTH_ZERO}
  • {@linkezcWebdavRequest::DEPTH_ONE}
  • {@linkezcWebdavRequest::DEPTH_INFINITY}
If the header contains a different value it is left as is.

Parameters

Name Type Description
$value string  

parseDigestAuthorizationHeader

ezcWebdavDigestAuth|ezcWebdavBasicAuth parseDigestAuthorizationHeader( string $value )
Parses the digest authorization header.
Returns an authorization credential struct of type ezcWebdavDigestAuth, containing the parsed data, or an instance of ezcWebdavBasicAuth with empty username and password, if parsing failed.

Parameters

Name Type Description
$value string  

parseHeader

mixed parseHeader( string $headerName )
Parses a single header.
Retrieves a $headerName and returns the processed value for it, if it does exist. If the requested header is unknown, a ezcWebdavUnknownHeaderException is thrown. If the requested header is not present in $_SERVER null is returned.

Parameters

Name Type Description
$headerName string  

parseHeaders

array(string=>mixed) parseHeaders( [ $headerNames = array()], [ $defaultHeaders = true], bool $defaultHeaders )
Returns an array with the given headers.
Checks for the availability of headers in $headerNamess, given as an array of header names, and parses them according to their format.
By default, this method parses an additional set of default headers (e.g. If-Match and If-None-Match). This can be avoided by setting the optional $defaultHeaders parameter to false.
The returned array can be used with ezcWebdavRequest->setHeaders().

Parameters

Name Type Description
$headerNames array(string)  
$defaultHeaders bool  
$defaultHeaders  

Throws

ClassDescription
ezcWebdavUnknownHeaderException if a header requested in $headerNames is not known in $headerNames.

parseIfMatchHeader

array parseIfMatchHeader( string $value )
Parses the If-Match and If-None-Match headers.
We do not pay attention to weak entity tags (prefixed by W\), since our backends don't make use of such tags. If backends want to provide weak entity tags, they still might do so.

Parameters

Name Type Description
$value string  

processHeader

mixed processHeader( string $headerName, string $value, string $serverHeaderName )
Processes a single header value.
Takes the $headerName and $value of a header and parses the value accordingly, * if necessary. Returns the parsed or unmanipuled result. The $serverHeaderName parameter contains the key that was used to extract the header from the $_SERVER array.

Parameters

Name Type Description
$headerName string  
$value string  
$serverHeaderName string  

Last updated: Mon, 27 Jul 2009