src/WrappedHttpHandler.php
private function parseError(
        array $err,
        RequestInterface $request,
        CommandInterface $command,
        array $stats
    ) {
        if (!isset($err['exception'])) {
            throw new \RuntimeException('The HTTP handler was rejected without an "exception" key value pair.');
        }

        $serviceError = "AWS HTTP error: " . $err['exception']->getMessage();

        if (!isset($err['response'])) {
            $parts = ['response' => null];
        } else {
            try {
                $parts = call_user_func($this->errorParser, $err['response']);
                $serviceError .= " {$parts['code']} ({$parts['type']}): "
                    . "{$parts['message']} - " . $err['response']->getBody();
            } catch (ParserException $e) {
                $parts = [];
                $serviceError .= ' Unable to parse error information from '
                    . "response - {$e->getMessage()}";
            }

            $parts['response'] = $err['response'];
        }

        $parts['exception'] = $err['exception'];
        $parts['request'] = $request;
        $parts['connection_error'] = !empty($err['connection_error']);
        $parts['transfer_stats'] = $stats;

        return new $this->exceptionClass(
            sprintf(
                'Error executing "%s" on "%s"; %s',
                $command->getName(),
                $request->getUri(),
                $serviceError
            ),
            $command,
            $parts,
            $err['exception']
        );
    }
private function parseError(
        array $err,
        RequestInterface $request,
        CommandInterface $command,
        array $stats
    ) {
        if (!isset($err['exception'])) {
            throw new \RuntimeException('The HTTP handler was rejected without an "exception" key value pair.');
        }

        $serviceError = "AWS HTTP error: " . $err['exception']->getMessage();

        if (!isset($err['response'])) {
            $parts = ['response' => null];
        } else {
            try {
                $parts = call_user_func($this->errorParser, $err['response']);
                $serviceError .= " {$parts['code']} ({$parts['type']}): "
                    . "{$parts['message']} - " . $err['response']->getBody();
            } catch (ParserException $e) {
                $parts = [];
                $serviceError .= ' Unable to parse error information from '
                    . "response - {$e->getMessage()}";
            }

            $parts['response'] = $err['response'];
        }

        $parts['exception'] = $err['exception'];
        $parts['request'] = $request;
        $parts['connection_error'] = !empty($err['connection_error']);
        $parts['transfer_stats'] = $stats;

        return new $this->exceptionClass(
            sprintf(
                'Error executing "%s" on "%s"; %s',
                $command->getName(),
                $request->getUri(),
                $serviceError
            ),
            $command,
            $parts,
            $err['exception']
        );
    }
private function parseError ( array $ err , RequestInterface $ request , CommandInterface $ command , array $ stats ) { if ( ! isset ( $ err [ 'exception' ] ) ) { throw new \ RuntimeException ( 'The HTTP handler was rejected without an "exception" key value pair.' ) ; } $ serviceError = "AWS HTTP error: " . $ err [ 'exception' ] -> getMessage ( ) ; if ( ! isset ( $ err [ 'response' ] ) ) { $ parts = [ 'response' => null ] ; } else { try { $ parts = call_user_func ( $ this -> errorParser , $ err [ 'response' ] ) ; $ serviceError .= " {$parts['code']} ({$parts['type']}): " . "{$parts['message']} - " . $ err [ 'response' ] -> getBody ( ) ; } catch ( ParserException $ e ) { $ parts = [ ] ; $ serviceError .= ' Unable to parse error information from ' . "response - {$e->getMessage()}" ; } $ parts [ 'response' ] = $ err [ 'response' ] ; } $ parts [ 'exception' ] = $ err [ 'exception' ] ; $ parts [ 'request' ] = $ request ; $ parts [ 'connection_error' ] = ! empty ( $ err [ 'connection_error' ] ) ; $ parts [ 'transfer_stats' ] = $ stats ; return new $ this -> exceptionClass ( sprintf ( 'Error executing "%s" on "%s"; %s' , $ command -> getName ( ) , $ request -> getUri ( ) , $ serviceError ) , $ command , $ parts , $ err [ 'exception' ] ) ; }
Parses a rejection into an AWS error.

@param array            $err     Rejection error array.
@param RequestInterface $request Request that was sent.
@param CommandInterface $command Command being sent.
@param array            $stats   Transfer statistics

@return \Exception
Parses a rejection into an AWS error .