Merge pull request #19723 from owncloud/strip-directory
Strip directory from scriptName
This commit is contained in:
commit
b9e515bfeb
|
@ -386,7 +386,7 @@ class OC_API {
|
|||
|
||||
$meta = $result->getMeta();
|
||||
$data = $result->getData();
|
||||
if (self::isV2()) {
|
||||
if (self::isV2(\OC::$server->getRequest())) {
|
||||
$statusCode = self::mapStatusCodes($result->getStatusCode());
|
||||
if (!is_null($statusCode)) {
|
||||
$meta['statuscode'] = $statusCode;
|
||||
|
@ -449,13 +449,13 @@ class OC_API {
|
|||
}
|
||||
|
||||
/**
|
||||
* @return boolean
|
||||
* @param \OCP\IRequest $request
|
||||
* @return bool
|
||||
*/
|
||||
private static function isV2() {
|
||||
$request = \OC::$server->getRequest();
|
||||
protected static function isV2(\OCP\IRequest $request) {
|
||||
$script = $request->getScriptName();
|
||||
|
||||
return $script === '/ocs/v2.php';
|
||||
return substr($script, -11) === '/ocs/v2.php';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -34,6 +34,50 @@ class Test_API extends \Test\TestCase {
|
|||
$this->assertEquals($success, $result->succeeded());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function versionDataScriptNameProvider() {
|
||||
return [
|
||||
// Valid script name
|
||||
[
|
||||
'/master/ocs/v2.php',
|
||||
true,
|
||||
],
|
||||
|
||||
// Invalid script names
|
||||
[
|
||||
'/master/ocs/v2.php/someInvalidPathName',
|
||||
false,
|
||||
],
|
||||
[
|
||||
'/master/ocs/v1.php',
|
||||
false,
|
||||
],
|
||||
[
|
||||
'',
|
||||
false,
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider versionDataScriptNameProvider
|
||||
* @param string $scriptName
|
||||
* @param bool $expected
|
||||
*/
|
||||
public function testIsV2($scriptName, $expected) {
|
||||
$request = $this->getMockBuilder('\OCP\IRequest')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$request
|
||||
->expects($this->once())
|
||||
->method('getScriptName')
|
||||
->will($this->returnValue($scriptName));
|
||||
|
||||
$this->assertEquals($expected, $this->invokePrivate(new \OC_API, 'isV2', [$request]));
|
||||
}
|
||||
|
||||
function dataProviderTestOneResult() {
|
||||
return array(
|
||||
array(100, true),
|
||||
|
|
Loading…
Reference in New Issue