Changeset View
Changeset View
Standalone View
Standalone View
src/applications/conduit/parametertype/ConduitParameterType.php
Show All 24 Lines | abstract class ConduitParameterType extends Phobject { | ||||
} | } | ||||
final public function getExists(array $request, $key) { | final public function getExists(array $request, $key) { | ||||
return $this->getParameterExists($request, $key); | return $this->getParameterExists($request, $key); | ||||
} | } | ||||
final public function getValue(array $request, $key) { | final public function getValue(array $request, $key, $strict = true) { | ||||
if (!$this->getExists($request, $key)) { | if (!$this->getExists($request, $key)) { | ||||
return $this->getParameterDefault(); | return $this->getParameterDefault(); | ||||
} | } | ||||
return $this->getParameterValue($request, $key); | return $this->getParameterValue($request, $key, $strict); | ||||
} | } | ||||
final public function getKeys($key) { | final public function getKeys($key) { | ||||
return $this->getParameterKeys($key); | return $this->getParameterKeys($key); | ||||
} | } | ||||
final public function getDefaultValue() { | final public function getDefaultValue() { | ||||
return $this->getParameterDefault(); | return $this->getParameterDefault(); | ||||
Show All 33 Lines | return id(new PhutilClassMapQuery()) | ||||
->execute(); | ->execute(); | ||||
} | } | ||||
protected function getParameterExists(array $request, $key) { | protected function getParameterExists(array $request, $key) { | ||||
return array_key_exists($key, $request); | return array_key_exists($key, $request); | ||||
} | } | ||||
protected function getParameterValue(array $request, $key) { | protected function getParameterValue(array $request, $key, $strict) { | ||||
return $request[$key]; | return $request[$key]; | ||||
} | } | ||||
protected function getParameterKeys($key) { | protected function getParameterKeys($key) { | ||||
return array($key); | return array($key); | ||||
} | } | ||||
protected function parseStringValue(array $request, $key, $value, $strict) { | |||||
if (!is_string($value)) { | |||||
$this->raiseValidationException( | |||||
$request, | |||||
$key, | |||||
pht('Expected string, got something else.')); | |||||
} | |||||
return $value; | |||||
} | |||||
protected function parseIntValue(array $request, $key, $value, $strict) { | |||||
if (!$strict && is_string($value) && ctype_digit($value)) { | |||||
$value = $value + 0; | |||||
if (!is_int($value)) { | |||||
$this->raiseValidationException( | |||||
$request, | |||||
$key, | |||||
pht('Integer overflow.')); | |||||
} | |||||
} else if (!is_int($value)) { | |||||
$this->raiseValidationException( | |||||
$request, | |||||
$key, | |||||
pht('Expected integer, got something else.')); | |||||
} | |||||
return $value; | |||||
} | |||||
protected function parseBoolValue(array $request, $key, $value, $strict) { | |||||
$bool_strings = array( | |||||
'0' => false, | |||||
'1' => true, | |||||
'false' => false, | |||||
'true' => true, | |||||
); | |||||
if (!$strict && is_string($value) && isset($bool_strings[$value])) { | |||||
$value = $bool_strings[$value]; | |||||
} else if (!is_bool($value)) { | |||||
$this->raiseValidationException( | |||||
$request, | |||||
$key, | |||||
pht('Expected boolean (true or false), got something else.')); | |||||
} | |||||
return $value; | |||||
} | |||||
abstract protected function getParameterTypeName(); | abstract protected function getParameterTypeName(); | ||||
abstract protected function getParameterFormatDescriptions(); | abstract protected function getParameterFormatDescriptions(); | ||||
abstract protected function getParameterExamples(); | abstract protected function getParameterExamples(); | ||||
protected function getParameterDefault() { | protected function getParameterDefault() { | ||||
return null; | return null; | ||||
} | } | ||||
} | } |