Fix an issue with ConduitQueryConduitAPIMethod
Fixes an issue with D9991. A user was hitting the following exception:
```
echo '{}' | arc --conduit-uri='http://phabricator.joshuaspence.com'
call-conduit conduit.query
Waiting for JSON parameters on stdin...
Exception
[HTTP/500] Internal Server Error
>>> UNRECOVERABLE FATAL ERROR <<<
Call to a member function getAPIMethodName() on a non-object
/usr/src/phabricator/src/applications/conduit/method/ConduitQueryConduitAPIMethod.php:34
┻━┻ ︵ ¯\_(ツ)_/¯ ︵ ┻━┻
(Run with --trace for a full exception trace.)
```
Auditors: epriestley
This commit is contained in:
@@ -27,15 +27,15 @@ final class ConduitQueryConduitAPIMethod extends ConduitAPIMethod {
|
|||||||
->setAncestorClass('ConduitAPIMethod')
|
->setAncestorClass('ConduitAPIMethod')
|
||||||
->setType('class')
|
->setType('class')
|
||||||
->setConcreteOnly(true)
|
->setConcreteOnly(true)
|
||||||
->selectSymbolsWithoutLoading();
|
->loadObjects();
|
||||||
|
|
||||||
$names_to_params = array();
|
$names_to_params = array();
|
||||||
foreach ($classes as $class) {
|
foreach ($classes as $class) {
|
||||||
$method_name = $class['name'];
|
$names_to_params[$class->getAPIMethodName()] = array(
|
||||||
$obj = newv($method_name, array());
|
'params' => $class->defineParamTypes(),
|
||||||
$names_to_params[$this->getAPIMethodNameFromClassName($method_name)] =
|
);
|
||||||
array('params' => $obj->defineParamTypes());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $names_to_params;
|
return $names_to_params;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user