123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <?php
- namespace Aws\Route53;
- use Aws\AwsClient;
- use Aws\CommandInterface;
- use Psr\Http\Message\RequestInterface;
- class Route53Client extends AwsClient
- {
- public function __construct(array $args)
- {
- parent::__construct($args);
- $this->getHandlerList()->appendInit($this->cleanIdFn(), 'route53.clean_id');
- }
- private function cleanIdFn()
- {
- return function (callable $handler) {
- return function (CommandInterface $c, RequestInterface $r = null) use ($handler) {
- foreach (['Id', 'HostedZoneId', 'DelegationSetId'] as $clean) {
- if ($c->hasParam($clean)) {
- $c[$clean] = $this->cleanId($c[$clean]);
- }
- }
- return $handler($c, $r);
- };
- };
- }
- private function cleanId($id)
- {
- static $toClean = ['/hostedzone/', '/change/', '/delegationset/'];
- return str_replace($toClean, '', $id);
- }
- }
|