if (!$mimetype) {
try {
$curlResult = DI::httpClient()->head($uri, [HttpClientOptions::ACCEPT_CONTENT => HttpClientAccept::JSON_AS, HttpClientOptions::REQUEST => HttpClientRequest::ACTIVITYPUB]);
- $mimetype = empty($curlResult) ? '' : $curlResult->getContentType();
+ $mimetype = $curlResult->getContentType();
} catch (\Throwable $th) {
Logger::info('Error while fetching HTTP link via HEAD', ['uid' => $uid, 'uri' => $uri, 'code' => $th->getCode(), 'message' => $th->getMessage()]);
return 0;
try {
// Issue 14126: Workaround for Mastodon servers that return "application/json" on a "head" request.
$curlResult = HTTPSignature::fetchRaw($uri, $uid);
- $mimetype = empty($curlResult) ? '' : $curlResult->getContentType();
+ $mimetype = $curlResult->getContentType();
} catch (\Throwable $th) {
Logger::info('Error while fetching HTTP link via signed GET', ['uid' => $uid, 'uri' => $uri, 'code' => $th->getCode(), 'message' => $th->getMessage()]);
return 0;
* Perform an XRPC post for a given user
* @see https://atproto.com/specs/xrpc#lexicon-http-endpoints
*
- * @param integer $uid User ID
- * @param string $url Endpoints like "com.atproto.repo.createRecord"
- * @param [type] $parameters array or StdClass with parameters
- * @return stdClass|null
+ * @param int $uid User ID
+ * @param string $url Endpoints like "com.atproto.repo.createRecord"
+ * @param array|object $parameters array or StdClass with parameters
*/
public function XRPCPost(int $uid, string $url, $parameters): ?stdClass
{