19 declare(strict_types=1);
48 return $this->delivery;
53 return $this->legacy_delivery;
59 Disposition $disposition,
61 int $valid_for_at_least_hours
64 $valid_for_at_least_hours++;
65 $until = new \DateTimeImmutable(
66 (
new \
DateTimeImmutable(
"now +$valid_for_at_least_hours hours"))->format(
'Y-m-d H:00')
69 $token = $this->data_signer->getSignedStreamToken(
83 return $this->base_uri ?? $this->base_uri = rtrim(
84 $this->
http->request()->getUri()->getScheme()
85 .
'://' . $this->
http->request()->getUri()->getHost()
86 . ($this->
http->request()->getUri()->getPort() ?
':' . $this->
http->request()->getUri()->getPort() :
'')
87 . dirname($this->
http->request()->getUri()->getPath()),
Interface Observer Contains several chained tasks and infos about them.
buildTokenURL(FileStream $stream, string $filename, Disposition $disposition, int $user_id, int $valid_for_at_least_hours)
static http()
Fetches the global http state from ILIAS.
The scope of this class is split ilias-conform URI's into components.
__construct(private \ILIAS\FileDelivery\Delivery\StreamDelivery $delivery, private LegacyDelivery $legacy_delivery, private DataSigner $data_signer, private \ILIAS\HTTP\Services $http)
The base interface for all filesystem streams.