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)); }
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'); }
/** * @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; }