Blame view

sources/3rdparty/sabre/dav/lib/Sabre/DAV/Exception/PreconditionFailed.php 1.67 KB
03e52840d   Kload   Init
1
  <?php
6d9380f96   Cédric Dupont   Update sources OC...
2
3
4
  namespace Sabre\DAV\Exception;
  
  use Sabre\DAV;
03e52840d   Kload   Init
5
6
7
8
9
10
11
  /**
   * 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)
   *
6d9380f96   Cédric Dupont   Update sources OC...
12
13
14
   * @copyright Copyright (C) 2007-2014 fruux GmbH (https://fruux.com/).
   * @author Evert Pot (http://evertpot.com/)
   * @license http://sabre.io/license/ Modified BSD License
03e52840d   Kload   Init
15
   */
6d9380f96   Cédric Dupont   Update sources OC...
16
  class PreconditionFailed extends DAV\Exception {
03e52840d   Kload   Init
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
  
      /**
       * 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 additional information into the WebDAV error response
       *
6d9380f96   Cédric Dupont   Update sources OC...
55
56
       * @param DAV\Server $server
       * @param \DOMElement $errorNode
03e52840d   Kload   Init
57
58
       * @return void
       */
6d9380f96   Cédric Dupont   Update sources OC...
59
      public function serialize(DAV\Server $server,\DOMElement $errorNode) {
03e52840d   Kload   Init
60
61
62
63
64
65
66
67
68
69
  
          if ($this->header) {
              $prop = $errorNode->ownerDocument->createElement('s:header');
              $prop->nodeValue = $this->header;
              $errorNode->appendChild($prop);
          }
  
      }
  
  }