Viewing file: RestJsonSerializer.php (1.11 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php namespace Aws\Api\Serializer;
use Aws\Api\Service; use Aws\Api\StructureShape;
/** * Serializes requests for the REST-JSON protocol. * @internal */ class RestJsonSerializer extends RestSerializer { /** @var JsonBody */ private $jsonFormatter;
/** @var string */ private $contentType;
/** * @param Service $api Service API description * @param string $endpoint Endpoint to connect to * @param JsonBody $jsonFormatter Optional JSON formatter to use */ public function __construct( Service $api, $endpoint, JsonBody $jsonFormatter = null ) { parent::__construct($api, $endpoint); $this->contentType = JsonBody::getContentType($api); $this->jsonFormatter = $jsonFormatter ?: new JsonBody($api); }
protected function payload(StructureShape $member, array $value, array &$opts) { $body = isset($value) ? ((string) $this->jsonFormatter->build($member, $value)) : "{}"; $opts['headers']['Content-Type'] = $this->contentType; $opts['body'] = $body; } }
|