ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder Class Reference
+ Inheritance diagram for ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder:
+ Collaboration diagram for ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder:

Public Member Functions

 getName ()
 
 buildForStream (ServerRequestInterface $request, ResponseInterface $response, FileStream $stream,)
 
 supportPartial ()
 
 supportStreaming ()
 
 supportFileDeletion ()
 
 supportsInlineDelivery ()
 
 supportsAttachmentDelivery ()
 
 getName ()
 
 buildForStream (ServerRequestInterface $request, ResponseInterface $response, FileStream $stream,)
 
 supportStreaming ()
 
 supportPartial ()
 
 supportFileDeletion ()
 
 supportsInlineDelivery ()
 
 supportsAttachmentDelivery ()
 

Private Attributes

const DATA = 'data'
 
const SECURED_DATA = 'secured-data'
 
const X_ACCEL_REDIRECT_HEADER = 'X-Accel-Redirect'
 

Detailed Description

Member Function Documentation

◆ buildForStream()

ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder::buildForStream ( ServerRequestInterface  $request,
ResponseInterface  $response,
FileStream  $stream 
)

Implements ILIAS\FileDelivery\Delivery\ResponseBuilder\ResponseBuilder.

Definition at line 50 of file XAccelResponseBuilder.php.

54 : ResponseInterface {
55 $path_to_file = $stream->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 . '/',
62 );
63 }
64
65 return $response->withHeader(
66 self::X_ACCEL_REDIRECT_HEADER,
68 );
69 }
$response
Definition: xapitoken.php:93

References ILIAS\FileDelivery\Delivery\$path_to_file, and ILIAS\MetaData\Paths\Filters\DATA.

◆ getName()

ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder::getName ( )

Implements ILIAS\FileDelivery\Delivery\ResponseBuilder\ResponseBuilder.

Definition at line 45 of file XAccelResponseBuilder.php.

45 : string
46 {
47 return 'x-accel';
48 }

◆ supportFileDeletion()

ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder::supportFileDeletion ( )

Implements ILIAS\FileDelivery\Delivery\ResponseBuilder\ResponseBuilder.

Definition at line 81 of file XAccelResponseBuilder.php.

81 : bool
82 {
83 return false;
84 }

◆ supportPartial()

ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder::supportPartial ( )

Implements ILIAS\FileDelivery\Delivery\ResponseBuilder\ResponseBuilder.

Definition at line 71 of file XAccelResponseBuilder.php.

71 : bool
72 {
73 return true;
74 }

◆ supportsAttachmentDelivery()

ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder::supportsAttachmentDelivery ( )

Implements ILIAS\FileDelivery\Delivery\ResponseBuilder\ResponseBuilder.

Definition at line 91 of file XAccelResponseBuilder.php.

91 : bool
92 {
93 return true;
94 }

◆ supportsInlineDelivery()

ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder::supportsInlineDelivery ( )

Implements ILIAS\FileDelivery\Delivery\ResponseBuilder\ResponseBuilder.

Definition at line 86 of file XAccelResponseBuilder.php.

86 : bool
87 {
88 return true;
89 }

◆ supportStreaming()

ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder::supportStreaming ( )

Implements ILIAS\FileDelivery\Delivery\ResponseBuilder\ResponseBuilder.

Definition at line 76 of file XAccelResponseBuilder.php.

76 : bool
77 {
78 return true;
79 }

Field Documentation

◆ DATA

const ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder::DATA = 'data'
private

Definition at line 35 of file XAccelResponseBuilder.php.

◆ SECURED_DATA

const ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder::SECURED_DATA = 'secured-data'
private

Definition at line 39 of file XAccelResponseBuilder.php.

◆ X_ACCEL_REDIRECT_HEADER

const ILIAS\FileDelivery\Delivery\ResponseBuilder\XAccelResponseBuilder::X_ACCEL_REDIRECT_HEADER = 'X-Accel-Redirect'
private

Definition at line 43 of file XAccelResponseBuilder.php.


The documentation for this class was generated from the following file: