mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-11-15 20:47:15 +01:00
72 lines
1.6 KiB
PHP
72 lines
1.6 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Sabre\DAV\Exception;
|
||
|
|
||
|
use Sabre\DAV;
|
||
|
|
||
|
/**
|
||
|
* 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)
|
||
|
*
|
||
|
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
|
||
|
* @author Evert Pot (http://evertpot.com/)
|
||
|
* @license http://sabre.io/license/ Modified BSD License
|
||
|
*/
|
||
|
class PreconditionFailed extends 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
|
||
|
*/
|
||
|
function __construct($message, $header = null) {
|
||
|
|
||
|
parent::__construct($message);
|
||
|
$this->header = $header;
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns the HTTP statuscode for this exception
|
||
|
*
|
||
|
* @return int
|
||
|
*/
|
||
|
function getHTTPCode() {
|
||
|
|
||
|
return 412;
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* This method allows the exception to include additional information into the WebDAV error response
|
||
|
*
|
||
|
* @param DAV\Server $server
|
||
|
* @param \DOMElement $errorNode
|
||
|
* @return void
|
||
|
*/
|
||
|
function serialize(DAV\Server $server, \DOMElement $errorNode) {
|
||
|
|
||
|
if ($this->header) {
|
||
|
$prop = $errorNode->ownerDocument->createElement('s:header');
|
||
|
$prop->nodeValue = $this->header;
|
||
|
$errorNode->appendChild($prop);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|