Example #1
0
 public function visit(CommandInterface $command, RequestInterface $request, Parameter $param, $value)
 {
     $value = $param->filter($value);
     if ($value instanceof PostFileInterface) {
         $request->addPostFile($value);
     } else {
         $request->addPostFile($param->getWireName(), $value);
     }
 }
Example #2
0
 public function visit(CommandInterface $command, RequestInterface $request, Parameter $param, $value)
 {
     if (isset($this->data[$command])) {
         $json = $this->data[$command];
     } else {
         $json = array();
     }
     $json[$param->getWireName()] = $this->prepareValue($value, $param);
     $this->data[$command] = $json;
 }
Example #3
0
 public function visit(CommandInterface $command, Response $response, Parameter $param, &$value, $context = null)
 {
     $name = $param->getName();
     $key = $param->getWireName();
     if (isset($value[$key])) {
         $this->recursiveProcess($param, $value[$key]);
         if ($key != $name) {
             $value[$name] = $value[$key];
             unset($value[$key]);
         }
     }
 }
Example #4
0
 public function visit(CommandInterface $command, RequestInterface $request, Parameter $param, $value)
 {
     $request->setPostField($param->getWireName(), $this->prepareValue($value, $param));
 }
Example #5
0
 /**
  * Recursively build the XML body
  *
  * @param \XMLWriter $xmlWriter XML to modify
  * @param Parameter  $param     API Parameter
  * @param mixed      $value     Value to add
  */
 protected function addXml(\XMLWriter $xmlWriter, Parameter $param, $value)
 {
     if ($value === null) {
         return;
     }
     $value = $param->filter($value);
     $type = $param->getType();
     $name = $param->getWireName();
     $prefix = null;
     $namespace = $param->getData('xmlNamespace');
     if (false !== strpos($name, ':')) {
         list($prefix, $name) = explode(':', $name, 2);
     }
     if ($type == 'object' || $type == 'array') {
         if (!$param->getData('xmlFlattened')) {
             $xmlWriter->startElementNS(null, $name, $namespace);
         }
         if ($param->getType() == 'array') {
             $this->addXmlArray($xmlWriter, $param, $value);
         } elseif ($param->getType() == 'object') {
             $this->addXmlObject($xmlWriter, $param, $value);
         }
         if (!$param->getData('xmlFlattened')) {
             $xmlWriter->endElement();
         }
         return;
     }
     if ($param->getData('xmlAttribute')) {
         $this->writeAttribute($xmlWriter, $prefix, $name, $namespace, $value);
     } else {
         $this->writeElement($xmlWriter, $prefix, $name, $namespace, $value);
     }
 }