Ec2ParamBuilder.php 859 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace Aws\Api\Serializer;
  3. use Aws\Api\Shape;
  4. use Aws\Api\ListShape;
  5. /**
  6. * @internal
  7. */
  8. class Ec2ParamBuilder extends QueryParamBuilder
  9. {
  10. protected function queryName(Shape $shape, $default = null)
  11. {
  12. return ($shape['queryName']
  13. ?: ucfirst($shape['locationName']))
  14. ?: $default;
  15. }
  16. protected function isFlat(Shape $shape)
  17. {
  18. return false;
  19. }
  20. protected function format_list(
  21. ListShape $shape,
  22. array $value,
  23. $prefix,
  24. &$query
  25. ) {
  26. // Handle empty list serialization
  27. if (!$value) {
  28. $query[$prefix] = false;
  29. } else {
  30. $items = $shape->getMember();
  31. foreach ($value as $k => $v) {
  32. $this->format($items, $v, $prefix . '.' . ($k + 1), $query);
  33. }
  34. }
  35. }
  36. }