ILIAS
trunk Revision v11.0_alpha-1761-g6dbbfa7b760
◀ ilDoc Overview
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
+
Variables
$
c
e
g
h
j
l
m
p
s
t
u
v
+
Enumerations
a
c
e
f
i
j
l
m
n
o
p
r
s
t
u
v
z
+
Enumerator
a
c
d
e
f
g
i
l
m
n
o
p
q
s
t
u
v
y
+
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
+
Data Fields
+
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Ö
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Variables
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Ö
Enumerations
Enumerator
+
Files
File List
+
Globals
+
All
$
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
z
+
Functions
a
b
c
d
e
f
g
h
i
m
n
p
r
s
t
u
v
+
Variables
$
a
c
e
g
h
i
m
n
o
p
r
s
t
u
v
z
Enumerations
Enumerator
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Modules
Pages
XAccelResponseBuilder.php
Go to the documentation of this file.
1
<?php
2
19
declare(strict_types=1);
20
21
namespace
ILIAS\FileDelivery\Delivery\ResponseBuilder
;
22
23
use
Psr\Http\Message\ResponseInterface
;
24
use
ILIAS\Filesystem\Stream\FileStream
;
25
use
Psr\Http\Message\ServerRequestInterface
;
26
30
class
XAccelResponseBuilder
implements
ResponseBuilder
31
{
35
private
const
DATA
=
'data'
;
39
private
const
SECURED_DATA
=
'secured-data'
;
43
private
const
X_ACCEL_REDIRECT_HEADER
=
'X-Accel-Redirect'
;
44
45
public
function
getName
(): string
46
{
47
return
'x-accel'
;
48
}
49
50
public
function
buildForStream
(
51
ServerRequestInterface
$request,
52
ResponseInterface
$response
,
53
FileStream
$stream,
54
): ResponseInterface {
55
$path_to_file
= $stream->getStream()->getMetadata(
'uri'
);
56
if
(str_starts_with((
string
)
$path_to_file
,
'./'
.
self::DATA
.
'/'
)) {
57
$path_to_file = str_replace(
58
'./'
.
self::DATA
.
'/'
,
59
'/'
. self::SECURED_DATA
60
.
'/'
,
61
$path_to_file
62
);
63
}
64
65
return
$response->withHeader(
66
self::X_ACCEL_REDIRECT_HEADER,
67
$path_to_file
68
);
69
}
70
71
public
function
supportPartial
(): bool
72
{
73
return
true
;
74
}
75
76
public
function
supportStreaming
(): bool
77
{
78
return
true
;
79
}
80
81
public
function
supportFileDeletion
(): bool
82
{
83
return
false
;
84
}
85
86
public
function
supportsInlineDelivery
(): bool
87
{
88
return
true
;
89
}
90
91
public
function
supportsAttachmentDelivery
(): bool
92
{
93
return
true
;
94
}
95
}
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder
Definition:
XAccelResponseBuilder.php:30
ILIAS\FileDelivery\Delivery\ResponseBuilder
Definition:
PHPResponseBuilder.php:21
$response
$response
Definition:
xapitoken.php:93
ILIAS\MetaData\Paths\Filters\DATA
Definition:
FilterType.php:31
ILIAS\FileDelivery\Delivery\ResponseBuilder\ResponseBuilder
Definition:
ResponseBuilder.php:30
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder\supportsInlineDelivery
supportsInlineDelivery()
Definition:
XAccelResponseBuilder.php:86
ServerRequestInterface
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder\supportFileDeletion
supportFileDeletion()
Definition:
XAccelResponseBuilder.php:81
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder\buildForStream
buildForStream(ServerRequestInterface $request, ResponseInterface $response, FileStream $stream,)
Definition:
XAccelResponseBuilder.php:50
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder\SECURED_DATA
const SECURED_DATA
Definition:
XAccelResponseBuilder.php:39
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder\getName
getName()
Definition:
XAccelResponseBuilder.php:45
ILIAS\FileDelivery\Delivery\$path_to_file
string $path_to_file
Definition:
Delivery.php:60
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder\supportStreaming
supportStreaming()
Definition:
XAccelResponseBuilder.php:76
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder\X_ACCEL_REDIRECT_HEADER
const X_ACCEL_REDIRECT_HEADER
Definition:
XAccelResponseBuilder.php:43
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder\DATA
const DATA
Definition:
XAccelResponseBuilder.php:35
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder\supportsAttachmentDelivery
supportsAttachmentDelivery()
Definition:
XAccelResponseBuilder.php:91
ResponseInterface
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder\supportPartial
supportPartial()
Definition:
XAccelResponseBuilder.php:71
FileStream
ILIAS\Filesystem\Stream\FileStream
The base interface for all filesystem streams.
Definition:
FileStream.php:31
components
ILIAS
FileDelivery
src
Delivery
ResponseBuilder
XAccelResponseBuilder.php
Generated on Fri Apr 11 2025 23:03:10 for ILIAS by
1.8.13 (using
Doxyfile
)