Exemplo n.º 1
0
 public static function _apply_api_provider(callable $value, array &$args, HandlerList $list)
 {
     $api = new Service(ApiProvider::resolve($value, 'api', $args['service'], $args['version']), $value);
     $args['api'] = $api;
     $args['serializer'] = Service::createSerializer($api, $args['endpoint']);
     $args['parser'] = Service::createParser($api);
     $args['error_parser'] = Service::createErrorParser($api->getProtocol());
     $list->prependBuild(Middleware::requestBuilder($args['serializer']), 'builder');
 }
Exemplo n.º 2
0
 private function applyParser()
 {
     $parser = Service::createParser($this->api);
     $this->getEmitter()->on('process', static function (ProcessEvent $e) use($parser) {
         // Guard against exceptions and injected results.
         if ($e->getException() || $e->getResult()) {
             return;
         }
         // Ensure a response exists in order to parse.
         $response = $e->getResponse();
         if (!$response) {
             throw new \RuntimeException('No response was received.');
         }
         $e->setResult($parser($e->getCommand(), $response));
     });
 }