Skip to content
Snippets Groups Projects

Issue #3434168: Drupal 11 compatibility fixes for remote_stream_wrapper...

Files
12
@@ -2,8 +2,11 @@
namespace Drupal\remote_stream_wrapper\File\MimeType;
use Drupal\Core\Utility\Error;
use Drupal\Component\Utility\UrlHelper;
use Drupal\Core\File\FileSystemInterface;
use Drupal\Core\Logger\LoggerChannelFactoryInterface;
use Drupal\Core\Logger\LoggerChannelInterface;
use Drupal\remote_stream_wrapper\HttpClientTrait;
use Psr\Http\Message\ResponseInterface;
use Symfony\Component\Mime\MimeTypeGuesserInterface;
@@ -29,6 +32,13 @@ class HttpMimeTypeGuesser implements MimeTypeGuesserInterface {
*/
protected $extensionGuesser;
/**
* The logger.
*
* @var \Drupal\Core\Logger\LoggerChannelInterface
*/
protected LoggerChannelInterface $logger;
/**
* Constructs a new HttpMimeTypeGuesser.
*
@@ -36,10 +46,13 @@ class HttpMimeTypeGuesser implements MimeTypeGuesserInterface {
* The file system.
* @param \Symfony\Component\Mime\MimeTypeGuesserInterface $extension_guesser
* The extension guesser.
* @param \Drupal\Core\Logger\LoggerChannelFactoryInterface $loggerFactory
* The logger factory.
*/
public function __construct(FileSystemInterface $file_system, MimeTypeGuesserInterface $extension_guesser) {
public function __construct(FileSystemInterface $file_system, MimeTypeGuesserInterface $extension_guesser, LoggerChannelFactoryInterface $loggerFactory) {
$this->fileSystem = $file_system;
$this->extensionGuesser = $extension_guesser;
$this->logger = $loggerFactory->get('remote_stream_wrapper');
}
/**
@@ -55,9 +68,8 @@ class HttpMimeTypeGuesser implements MimeTypeGuesserInterface {
if ($filename = $this->parseFileNameFromUrl($path)) {
$mimetype = $this->extensionGuesser->guessMimeType($filename);
if ($mimetype !== 'application/octet-stream') {
// Only return the guessed mime type if it found a valid match
// instead of returning the default mime type.
if ($mimetype !== NULL) {
// Only return the guessed mime type if it found a valid match.
return $mimetype;
}
}
@@ -69,7 +81,7 @@ class HttpMimeTypeGuesser implements MimeTypeGuesserInterface {
}
}
catch (\Exception $exception) {
watchdog_exception('remote_stream_wrapper', $exception);
Error::logException($this->logger, $exception);
}
return NULL;
Loading