19declare(strict_types=1);
23use Psr\Http\Message\ResponseInterface;
25use Psr\Http\Message\ServerRequestInterface;
35 private const DATA =
'data';
49 public function __construct(
private string $external_data_dir)
51 $this->external_data_dir = rtrim($this->external_data_dir,
'/') .
'/';
60 ServerRequestInterface $request,
63 ): ResponseInterface {
68 '/' . self::SECURED_DATA
72 } elseif (str_starts_with((
string)
$path_to_file, $this->external_data_dir)) {
74 $this->external_data_dir,
75 '/' . self::SECURED_EXT_DATA .
'/',
81 self::X_ACCEL_REDIRECT_HEADER,
buildForStream(ServerRequestInterface $request, ResponseInterface $response, FileStream $stream,)
__construct(private string $external_data_dir)
supportsAttachmentDelivery()
const X_ACCEL_REDIRECT_HEADER
The base interface for all filesystem streams.