ab2b79cda6
Add support for a reverse proxy that handles multiple domains via different web roots (http[s]://proxy.tld/domain.tld/owncloud). As the reverse proxy web root is transparent for the web server the REQUEST_URI and SCRIPT_NAME need manual adjustments. This patch replace the direct use of this _SERVER variables with function calls and extend this functions to overwrite the web root. Additionally it adds a Sabre request backend that extends the Sabre_HTTP_Request to use the same functions.
50 lines
1.3 KiB
PHP
50 lines
1.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* ownCloud
|
|
*
|
|
* @author Stefan Herbrechtsmeier
|
|
* @copyright 2012 Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
|
* License as published by the Free Software Foundation; either
|
|
* version 3 of the License, or any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
*/
|
|
|
|
class OC_Connector_Sabre_Request extends Sabre_HTTP_Request {
|
|
/**
|
|
* Returns the requested uri
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getUri() {
|
|
return OC_Request::requestUri();
|
|
}
|
|
|
|
/**
|
|
* Returns a specific item from the _SERVER array.
|
|
*
|
|
* Do not rely on this feature, it is for internal use only.
|
|
*
|
|
* @param string $field
|
|
* @return string
|
|
*/
|
|
public function getRawServerValue($field) {
|
|
if($field == 'REQUEST_URI'){
|
|
return $this->getUri();
|
|
}
|
|
else{
|
|
return isset($this->_SERVER[$field])?$this->_SERVER[$field]:null;
|
|
}
|
|
}
|
|
}
|