diff options
Diffstat (limited to '3dparty/Sabre/DAV/Exception/PreconditionFailed.php')
-rw-r--r-- | 3dparty/Sabre/DAV/Exception/PreconditionFailed.php | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/3dparty/Sabre/DAV/Exception/PreconditionFailed.php b/3dparty/Sabre/DAV/Exception/PreconditionFailed.php new file mode 100644 index 00000000000..ebcb9f5b9ac --- /dev/null +++ b/3dparty/Sabre/DAV/Exception/PreconditionFailed.php @@ -0,0 +1,69 @@ +<?php + +/** + * PreconditionFailed + * + * This exception is normally thrown when a client submitted a conditional request, + * like for example an If, If-None-Match or If-Match header, which caused the HTTP + * request to not execute (the condition of the header failed) + * + * @package Sabre + * @subpackage DAV + * @copyright Copyright (C) 2007-2011 Rooftop Solutions. All rights reserved. + * @author Evert Pot (http://www.rooftopsolutions.nl/) + * @license http://code.google.com/p/sabredav/wiki/License Modified BSD License + */ +class Sabre_DAV_Exception_PreconditionFailed extends Sabre_DAV_Exception { + + /** + * When this exception is thrown, the header-name might be set. + * + * This allows the exception-catching code to determine which HTTP header + * caused the exception. + * + * @var string + */ + public $header = null; + + /** + * Create the exception + * + * @param string $message + * @param string $header + */ + public function __construct($message, $header=null) { + + parent::__construct($message); + $this->header = $header; + + } + + /** + * Returns the HTTP statuscode for this exception + * + * @return int + */ + public function getHTTPCode() { + + return 412; + + } + + /** + * This method allows the exception to include additonal information into the WebDAV error response + * + * @param Sabre_DAV_Server $server + * @param DOMElement $errorNode + * @return void + */ + public function serialize(Sabre_DAV_Server $server,DOMElement $errorNode) { + + if ($this->header) { + $prop = $errorNode->ownerDocument->createElement('s:header'); + $prop->nodeValue = $this->header; + $errorNode->appendChild($prop); + } + + } + +} |