Exemplo n.º 1
0
 /**
  * {@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;
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 /**
  * {@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);
 }