public function testForCurlRequest()
 {
     $curlRequest = new CurlRequest(curl_init(null));
     $curlRequest->setOption(CURLOPT_RETURNTRANSFER, true);
     $curlRequest->execute();
     $e = new BadHttpResponseException($curlRequest);
     $this->assertContains('error 3', $e->getMessage());
 }
 public function testExecuteForNullUrl()
 {
     $instance = new CurlRequest(curl_init(null));
     $instance->setOption(CURLOPT_RETURNTRANSFER, true);
     $this->assertTrue($instance->getOption(CURLOPT_RETURNTRANSFER));
     $this->assertFalse($instance->execute());
     $this->assertNull($instance->getOption(CURLOPT_RETURNTRANSFER));
     $this->assertEmpty($instance->getLastTransferInfo(CURLINFO_HTTP_CODE));
 }
Esempio n. 3
0
 public function testSetOptionUsingOnoiSpecificConstantDoesNotCauseAnyFailureWithCurl_Setopt()
 {
     $instance = new CurlRequest(curl_init(null));
     $instance->setOption(ONOI_HTTP_REQUEST_RESPONSECACHE_TTL, 42);
     $this->assertEquals(42, $instance->getOption(ONOI_HTTP_REQUEST_RESPONSECACHE_TTL));
 }
 private function connectTo($connectorId)
 {
     $repositoryConnector = $this->mapConnectorIdToClass($connectorId);
     $curlRequest = new CurlRequest(curl_init());
     // https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/1306
     if ($this->httpVersion) {
         $curlRequest->setOption(CURLOPT_HTTP_VERSION, $this->httpVersion);
     }
     $connection = new $repositoryConnector(new RepositoryClient($this->defaultGraph, $this->queryEndpoint, $this->updateEndpoint, $this->dataEndpoint), $curlRequest);
     if ($this->isRepositoryConnection($connection)) {
         return $connection;
     }
     throw new RuntimeException('Expected a RepositoryConnection instance');
 }
Esempio n. 5
0
 /**
  * @since  1.0
  *
  * @return mixed
  */
 public function execute()
 {
     list($key, $expiry) = $this->getKeysFromOptions();
     $this->isFromCache = false;
     if ($this->cache->contains($key)) {
         $this->isFromCache = true;
         return $this->cache->fetch($key);
     }
     $response = parent::execute();
     // Do not cache any failed response
     if ($this->getLastErrorCode() !== 0) {
         return $response;
     }
     $this->cache->save($key, $response, $expiry);
     return $response;
 }