ILIAS  trunk Revision v11.0_alpha-1831-g8615d53dadb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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 ()
 

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.

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

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  }
$response
Definition: xapitoken.php:93

◆ 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: