1<?php 2 3namespace Sabre\DAV\Exception; 4 5use Sabre\DAV; 6 7/** 8 * MethodNotAllowed 9 * 10 * The 405 is thrown when a client tried to create a directory on an already existing directory 11 * 12 * @copyright Copyright (C) fruux GmbH (https://fruux.com/) 13 * @author Evert Pot (http://evertpot.com/) 14 * @license http://sabre.io/license/ Modified BSD License 15 */ 16class MethodNotAllowed extends DAV\Exception { 17 18 /** 19 * Returns the HTTP statuscode for this exception 20 * 21 * @return int 22 */ 23 function getHTTPCode() { 24 25 return 405; 26 27 } 28 29 /** 30 * This method allows the exception to return any extra HTTP response headers. 31 * 32 * The headers must be returned as an array. 33 * 34 * @param \Sabre\DAV\Server $server 35 * @return array 36 */ 37 function getHTTPHeaders(\Sabre\DAV\Server $server) { 38 39 $methods = $server->getAllowedMethods($server->getRequestUri()); 40 41 return [ 42 'Allow' => strtoupper(implode(', ', $methods)), 43 ]; 44 45 } 46 47} 48