summaryrefslogtreecommitdiffstats
path: root/3dparty/Sabre/DAV/Exception/PreconditionFailed.php
diff options
context:
space:
mode:
Diffstat (limited to '3dparty/Sabre/DAV/Exception/PreconditionFailed.php')
-rw-r--r--3dparty/Sabre/DAV/Exception/PreconditionFailed.php69
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);
+ }
+
+ }
+
+}