MediaWiki master
Wikimedia\FileBackend\HTTPFileStreamer Class Reference

Functions related to the output of file content. More...

Public Member Functions

 __construct ( $path, array $params=[])
 
 stream ( $headers=[], $sendErrors=true, $optHeaders=[], $flags=0)
 Stream a file to the browser, adding all the headings and fun stuff.
 

Static Public Member Functions

static parseRange ( $range, $size)
 Convert a Range header value to an absolute (start, end) range tuple.
 
static preprocessHeaders ( $headers)
 Takes HTTP headers in a name => value format and converts them to the weird format expected by stream().
 
static send404Message ( $fname, $flags=0)
 Send out a standard 404 message for a file.
 

Public Attributes

const STREAM_ALLOW_OB = 2
 
const STREAM_HEADLESS = 1
 

Static Protected Member Functions

static contentTypeFromPath ( $filename)
 Determine the file type of a file based on the path.
 
static resetOutputBuffers ()
 

Protected Attributes

callable $headerFunc
 
callable $obResetFunc
 
string $path
 
callable $streamMimeFunc
 

Detailed Description

Functions related to the output of file content.

Since
1.28

Definition at line 34 of file HTTPFileStreamer.php.

Constructor & Destructor Documentation

◆ __construct()

Wikimedia\FileBackend\HTTPFileStreamer::__construct ( $path,
array $params = [] )
Parameters
string$pathLocal filesystem path to a file
array$paramsOptions map, which includes:
  • obResetFunc : alternative callback to clear the output buffer
  • streamMimeFunc : alternative method to determine the content type from the path
  • headerFunc : alternative method for sending response headers

Definition at line 77 of file HTTPFileStreamer.php.

References $params, and Wikimedia\FileBackend\HTTPFileStreamer\$path.

Member Function Documentation

◆ contentTypeFromPath()

static Wikimedia\FileBackend\HTTPFileStreamer::contentTypeFromPath ( $filename)
staticprotected

Determine the file type of a file based on the path.

Parameters
string$filenameStorage path or file system path
Returns
null|string

Definition at line 282 of file HTTPFileStreamer.php.

◆ parseRange()

static Wikimedia\FileBackend\HTTPFileStreamer::parseRange ( $range,
$size )
static

Convert a Range header value to an absolute (start, end) range tuple.

Parameters
string$rangeRange header value
int$sizeFile size
Returns
array|string Returns error string on failure (start, end, length)
Since
1.24

Definition at line 239 of file HTTPFileStreamer.php.

Referenced by Wikimedia\FileBackend\HTTPFileStreamer\stream().

◆ preprocessHeaders()

static Wikimedia\FileBackend\HTTPFileStreamer::preprocessHeaders ( $headers)
static

Takes HTTP headers in a name => value format and converts them to the weird format expected by stream().

Parameters
string[]$headers
Returns
array[] [ $headers, $optHeaders ]
Since
1.34

Definition at line 56 of file HTTPFileStreamer.php.

References $header.

Referenced by MediaWiki\FileRepo\AuthenticatedFileEntryPoint\execute().

◆ resetOutputBuffers()

static Wikimedia\FileBackend\HTTPFileStreamer::resetOutputBuffers ( )
staticprotected

Definition at line 266 of file HTTPFileStreamer.php.

◆ send404Message()

static Wikimedia\FileBackend\HTTPFileStreamer::send404Message ( $fname,
$flags = 0 )
static

Send out a standard 404 message for a file.

Parameters
string$fnameFull name and path of the file to stream
int$flagsBitfield of STREAM_* constants
Since
1.24

Definition at line 215 of file HTTPFileStreamer.php.

Referenced by Wikimedia\FileBackend\FileBackendStore\doStreamFile(), Wikimedia\FileBackend\SwiftFileBackend\doStreamFile(), and Wikimedia\FileBackend\HTTPFileStreamer\stream().

◆ stream()

Wikimedia\FileBackend\HTTPFileStreamer::stream ( $headers = [],
$sendErrors = true,
$optHeaders = [],
$flags = 0 )

Stream a file to the browser, adding all the headings and fun stuff.

Headers sent include: Content-type, Content-Length, Last-Modified, and Content-Disposition.

Parameters
array$headersAny additional headers to send if the file exists
bool$sendErrorsSend error messages if errors occur (like 404)
array$optHeadersHTTP request header map (e.g. "range") (use lowercase keys)
int$flagsBitfield of STREAM_* constants
Returns
bool Success

Definition at line 100 of file HTTPFileStreamer.php.

References $header, Wikimedia\FileBackend\HTTPFileStreamer\$headerFunc, Wikimedia\FileBackend\HTTPFileStreamer\parseRange(), Wikimedia\FileBackend\HTTPFileStreamer\send404Message(), and Wikimedia\FileBackend\HTTPFileStreamer\STREAM_HEADLESS.

Referenced by MediaTransformOutput\streamFileWithStatus().

Member Data Documentation

◆ $headerFunc

callable Wikimedia\FileBackend\HTTPFileStreamer::$headerFunc
protected

Definition at line 42 of file HTTPFileStreamer.php.

Referenced by Wikimedia\FileBackend\HTTPFileStreamer\stream().

◆ $obResetFunc

callable Wikimedia\FileBackend\HTTPFileStreamer::$obResetFunc
protected

Definition at line 38 of file HTTPFileStreamer.php.

◆ $path

string Wikimedia\FileBackend\HTTPFileStreamer::$path
protected

◆ $streamMimeFunc

callable Wikimedia\FileBackend\HTTPFileStreamer::$streamMimeFunc
protected

Definition at line 40 of file HTTPFileStreamer.php.

◆ STREAM_ALLOW_OB

const Wikimedia\FileBackend\HTTPFileStreamer::STREAM_ALLOW_OB = 2

◆ STREAM_HEADLESS

const Wikimedia\FileBackend\HTTPFileStreamer::STREAM_HEADLESS = 1

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