protected function createSerializerRegistry() { $registry = new SerializerRegistry(); $registry->setStatementSerializer(new StatementSerializer($this->serializer)); $registry->setStatementResultSerializer(new StatementResultSerializer($this->serializer)); $registry->setActorSerializer(new ActorSerializer($this->serializer)); $registry->setDocumentDataSerializer(new DocumentDataSerializer($this->serializer)); return $registry; }
/** * {@inheritDoc} */ public function build() { $httpClient = new Client($this->baseUrl); if (is_array($this->oAuthCredentials)) { $httpClient->addSubscriber(new OauthPlugin($this->oAuthCredentials)); } $serializer = Serializer::createSerializer(); $serializerRegistry = new SerializerRegistry(); $serializerRegistry->setStatementSerializer(new StatementSerializer($serializer)); $serializerRegistry->setStatementResultSerializer(new StatementResultSerializer($serializer)); $serializerRegistry->setActorSerializer(new ActorSerializer($serializer)); $serializerRegistry->setDocumentDataSerializer(new DocumentDataSerializer($serializer)); $version = null === $this->version ? '1.0.1' : $this->version; $requestHandler = new Handler($httpClient, $version, $this->username, $this->password); $xApiClient = new XApiClient($requestHandler, $serializerRegistry, $this->version); return $xApiClient; }
/** * {@inheritDoc} */ public function build() { if (null === $this->httpClient && class_exists('\\Http\\Discovery\\HttpClientDiscovery')) { try { $this->httpClient = HttpClientDiscovery::find(); } catch (\Exception $e) { } } if (null === ($httpClient = $this->httpClient)) { throw new \LogicException('No HTTP client was configured.'); } if (null === $this->requestFactory && class_exists('\\Http\\Discovery\\MessageFactoryDiscovery')) { try { $this->requestFactory = MessageFactoryDiscovery::find(); } catch (\Exception $e) { } } if (null === $this->requestFactory) { throw new \LogicException('No request factory was configured.'); } if (null === $this->baseUrl) { throw new \LogicException('Base URI value was not configured.'); } $serializerRegistry = new SerializerRegistry(); $serializerRegistry->setStatementSerializer($this->serializerFactory->createStatementSerializer()); $serializerRegistry->setStatementResultSerializer($this->serializerFactory->createStatementResultSerializer()); $serializerRegistry->setActorSerializer($this->serializerFactory->createActorSerializer()); $serializerRegistry->setDocumentDataSerializer($this->serializerFactory->createDocumentDataSerializer()); $plugins = array(); if (null !== $this->username && null !== $this->password) { $plugins[] = new AuthenticationPlugin(new BasicAuth($this->username, $this->password)); } if (null !== $this->consumerKey && null !== $this->consumerSecret && null !== $this->accessToken && null !== $this->tokenSecret) { if (!class_exists('Xabbuh\\Http\\Authentication\\OAuth1')) { throw new \LogicException('The "xabbuh/oauth1-authentication package is needed to use OAuth1 authorization.'); } $requestSigner = new RequestSigner(new ConsumerKey($this->consumerKey), new ConsumerSecret($this->consumerSecret)); $oauth = new OAuth1($requestSigner, new AccessToken($this->accessToken), new TokenSecret($this->tokenSecret)); $plugins[] = new AuthenticationPlugin($oauth); } if (!empty($plugins)) { $httpClient = new PluginClient($httpClient, $plugins); } $version = null === $this->version ? '1.0.1' : $this->version; $requestHandler = new Handler($httpClient, $this->requestFactory, $this->baseUrl, $version); return new XApiClient($requestHandler, $serializerRegistry, $this->version); }