Viewing file: RestXmlSerializer.php (1.25 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php namespace Aws\Api\Serializer;
use Aws\Api\StructureShape; use Aws\Api\Service;
/** * @internal */ class RestXmlSerializer extends RestSerializer { /** @var XmlBody */ private $xmlBody;
/** * @param Service $api Service API description * @param string $endpoint Endpoint to connect to * @param XmlBody $xmlBody Optional XML formatter to use */ public function __construct( Service $api, $endpoint, XmlBody $xmlBody = null ) { parent::__construct($api, $endpoint); $this->xmlBody = $xmlBody ?: new XmlBody($api); }
protected function payload(StructureShape $member, array $value, array &$opts) { $opts['headers']['Content-Type'] = 'application/xml'; $opts['body'] = $this->getXmlBody($member, $value); }
/** * @param StructureShape $member * @param array $value * @return string */ private function getXmlBody(StructureShape $member, array $value) { $xmlBody = (string)$this->xmlBody->build($member, $value); $xmlBody = str_replace("'", "'", $xmlBody); $xmlBody = str_replace('\r', " ", $xmlBody); $xmlBody = str_replace('\n', " ", $xmlBody); return $xmlBody; } }
|