use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Network\HTTPClient\Client\HttpClientAccept;
+use Friendica\Network\HTTPClient\Client\HttpClientOptions;
use Friendica\Network\HTTPClient\Client\HttpClientRequest;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Network;
// but their OEmbed endpoint is only accessible by HTTPS ¯\_(ツ)_/¯
$href = str_replace(['http://www.youtube.com/', 'http://player.vimeo.com/'],
['https://www.youtube.com/', 'https://player.vimeo.com/'], $href);
- $result = DI::httpClient()->fetchFull($href . '&maxwidth=' . $a->getThemeInfoValue('videowidth'), HttpClientAccept::DEFAULT, 0, '', HttpClientRequest::SITEINFO);
+ $result = DI::httpClient()->get($href . '&maxwidth=' . $a->getThemeInfoValue('videowidth'), HttpClientAccept::DEFAULT, [HttpClientOptions::REQUEST => HttpClientRequest::SITEINFO]);
if ($result->isSuccess()) {
$json_string = $result->getBodyString();
break;
$help = "";
$error_msg = "";
if (function_exists('curl_init')) {
- $fetchResult = DI::httpClient()->fetchFull($baseurl . "/install/testrewrite");
+ $fetchResult = DI::httpClient()->get($baseurl . "/install/testrewrite");
$url = Strings::normaliseLink($baseurl . "/install/testrewrite");
if ($fetchResult->getReturnCode() != 204) {
- $fetchResult = DI::httpClient()->fetchFull($url);
+ $fetchResult = DI::httpClient()->get($url);
}
if ($fetchResult->getReturnCode() != 204) {
use Friendica\Module\Response;
use Friendica\Network\HTTPClient\Capability\ICanSendHttpRequests;
use Friendica\Network\HTTPClient\Client\HttpClientAccept;
+use Friendica\Network\HTTPClient\Client\HttpClientOptions;
use Friendica\Network\HTTPClient\Client\HttpClientRequest;
use Friendica\Network\HTTPException;
use Friendica\Util\Profiler;
$hub_callback = rtrim($hub_callback, ' ?&#');
$separator = parse_url($hub_callback, PHP_URL_QUERY) === null ? '?' : '&';
- $fetchResult = $this->httpClient->fetchFull($hub_callback . $separator . $params, HttpClientAccept::DEFAULT, 0, '', HttpClientRequest::PUBSUB);
+ $fetchResult = $this->httpClient->get($hub_callback . $separator . $params, HttpClientAccept::DEFAULT, [HttpClientOptions::REQUEST => HttpClientRequest::PUBSUB]);
$body = $fetchResult->getBodyString();
$returnCode = $fetchResult->getReturnCode();
*/
public function fetch(string $url, string $accept_content = HttpClientAccept::DEFAULT, int $timeout = 0, string $cookiejar = '', string $request = ''): string;
- /**
- * Fetches the whole response of an URL.
- *
- * Inner workings and parameters are the same as @ref fetchUrl but returns an array with
- * all the information collected during the fetch.
- *
- * @param string $url URL to fetch
- * @param string $accept_content supply Accept: header with 'accept_content' as the value
- * @param int $timeout Timeout in seconds, default system config value or 60 seconds
- * @param string $cookiejar Path to cookie jar file
- * @param string $request Request Type
- *
- * @return ICanHandleHttpResponses With all relevant information, 'body' contains the actual fetched content.
- */
- public function fetchFull(string $url, string $accept_content = HttpClientAccept::DEFAULT, int $timeout = 0, string $cookiejar = '', string $request = ''): ICanHandleHttpResponses;
-
/**
* Send a GET to a URL.
*
*/
public function fetch(string $url, string $accept_content = HttpClientAccept::DEFAULT, int $timeout = 0, string $cookiejar = '', string $request = ''): string
{
- $ret = $this->fetchFull($url, $accept_content, $timeout, $cookiejar, $request);
-
- return $ret->getBodyString();
- }
-
- /**
- * {@inheritDoc}
- */
- public function fetchFull(string $url, string $accept_content = HttpClientAccept::DEFAULT, int $timeout = 0, string $cookiejar = '', string $request = ''): ICanHandleHttpResponses
- {
- return $this->get(
- $url,
- $accept_content,
- [
- HttpClientOptions::TIMEOUT => $timeout,
- HttpClientOptions::COOKIEJAR => $cookiejar,
- HttpClientOptions::REQUEST => $request,
- ]
- );
+ try {
+ $ret = $this->get(
+ $url,
+ $accept_content,
+ [
+ HttpClientOptions::TIMEOUT => $timeout,
+ HttpClientOptions::COOKIEJAR => $cookiejar,
+ HttpClientOptions::REQUEST => $request,
+ ]
+ );
+ return $ret->getBodyString();
+ } catch (\Throwable $th) {
+ $this->logger->notice('Got exception', ['code' => $th->getCode(), 'message' => $th->getMessage()]);
+ return '';
+ }
}
private function getUserAgent(string $type = ''): string
// Mocking the CURL Request
$networkMock = Mockery::mock(ICanSendHttpRequests::class);
$networkMock
- ->shouldReceive('fetchFull')
+ ->shouldReceive('get')
->with('https://test/install/testrewrite')
->andReturn($IHTTPResult);
$networkMock
- ->shouldReceive('fetchFull')
+ ->shouldReceive('get')
->with('http://test/install/testrewrite')
->andReturn($IHTTPResult);
// Mocking the CURL Request
$networkMock = Mockery::mock(ICanSendHttpRequests::class);
$networkMock
- ->shouldReceive('fetchFull')
+ ->shouldReceive('get')
->with('https://test/install/testrewrite')
->andReturn($IHTTPResultF);
$networkMock
- ->shouldReceive('fetchFull')
+ ->shouldReceive('get')
->with('http://test/install/testrewrite')
->andReturn($IHTTPResultW);