Merge pull request #11389 from nupplaphil/feat/http_client_arg

Introduce explicit HttpClient "Accept" parameter
This commit is contained in:
Hypolite Petovan 2022-04-08 15:05:40 -04:00 committed by GitHub
commit 4eecf733e1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 231 additions and 205 deletions

View file

@ -26,7 +26,7 @@ use Friendica\Core\System;
use Friendica\Database\Database;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Network\HTTPClient\Client\HttpClient;
use Friendica\Network\HTTPClient\Client\HttpClientAccept;
use Friendica\Network\HTTPClient\Client\HttpClientOptions;
use Friendica\Util\Proxy;
@ -97,7 +97,7 @@ class Link
return $url . $id;
}
private static function fetchMimeType(string $url, string $accept = HttpClient::ACCEPT_DEFAULT)
private static function fetchMimeType(string $url, string $accept = HttpClientAccept::DEFAULT)
{
$timeout = DI::config()->get('system', 'xrd_timeout');

View file

@ -30,7 +30,7 @@ use Friendica\DI;
use Friendica\Model\Item;
use Friendica\Model\Photo;
use Friendica\Model\Post;
use Friendica\Network\HTTPClient\Client\HttpClient;
use Friendica\Network\HTTPClient\Client\HttpClientAccept;
use Friendica\Network\HTTPClient\Client\HttpClientOptions;
use Friendica\Util\Images;
use Friendica\Util\Network;
@ -169,11 +169,11 @@ class Media
// Fetch the mimetype or size if missing.
if (empty($media['mimetype']) || empty($media['size'])) {
$timeout = DI::config()->get('system', 'xrd_timeout');
$curlResult = DI::httpClient()->head($media['url'], [HttpClientOptions::TIMEOUT => $timeout, HttpClientOptions::ACCEPT_CONTENT => HttpClient::ACCEPT_DEFAULT]);
$curlResult = DI::httpClient()->head($media['url'], [HttpClientOptions::TIMEOUT => $timeout]);
// Workaround for systems that can't handle a HEAD request
if (!$curlResult->isSuccess() && ($curlResult->getReturnCode() == 405)) {
$curlResult = DI::httpClient()->get($media['url'], [HttpClientOptions::TIMEOUT => $timeout, HttpClientOptions::ACCEPT_CONTENT => HttpClient::ACCEPT_DEFAULT]);
$curlResult = DI::httpClient()->get($media['url'], HttpClientAccept::DEFAULT, [HttpClientOptions::TIMEOUT => $timeout]);
}
if ($curlResult->isSuccess()) {