/** * */ public function __construct() { $this->sapi = new HTTP\Sapi(); $this->httpResponse = new HTTP\Response(); $this->httpRequest = $this->sapi->getRequest(); $this->logger = Logger::get('controller'); // FIXME: JMAP Authorization headers don't get through to the Request object if (function_exists('apache_request_headers')) { $hdrs = apache_request_headers(); if (isset($hdrs['Authorization'])) { $this->httpRequest->setHeader('Authorization', $hdrs['Authorization']); } } // plugins can add more callbacks directly to $this->routes }
/** * Sets up the server * * If a Sabre\DAV\Tree object is passed as an argument, it will * use it as the directory tree. If a Sabre\DAV\INode is passed, it * will create a Sabre\DAV\Tree and use the node as the root. * * If nothing is passed, a Sabre\DAV\SimpleCollection is created in * a Sabre\DAV\Tree. * * If an array is passed, we automatically create a root node, and use * the nodes in the array as top-level children. * * @param Tree|INode|array|null $treeOrNode The tree object */ function __construct($treeOrNode = null) { if ($treeOrNode instanceof Tree) { $this->tree = $treeOrNode; } elseif ($treeOrNode instanceof INode) { $this->tree = new Tree($treeOrNode); } elseif (is_array($treeOrNode)) { // If it's an array, a list of nodes was passed, and we need to // create the root node. foreach ($treeOrNode as $node) { if (!($node instanceof INode)) { throw new Exception('Invalid argument passed to constructor. If you\'re passing an array, all the values must implement Sabre\\DAV\\INode'); } } $root = new SimpleCollection('root', $treeOrNode); $this->tree = new Tree($root); } elseif (is_null($treeOrNode)) { $root = new SimpleCollection('root'); $this->tree = new Tree($root); } else { throw new Exception('Invalid argument passed to constructor. Argument must either be an instance of Sabre\\DAV\\Tree, Sabre\\DAV\\INode, an array or null'); } $this->xml = new Xml\Service(); $this->sapi = new HTTP\Sapi(); $this->httpResponse = new HTTP\Response(); $this->httpRequest = $this->sapi->getRequest(); $this->addPlugin(new CorePlugin()); }