MediaWiki REL1_33
HTTPFileStreamer Class Reference

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

Collaboration diagram for HTTPFileStreamer:

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 $obResetFunc
 
string $path
 
callable $streamMimeFunc
 

Detailed Description

Functions related to the output of file content.

Since
1.28

Definition at line 29 of file HTTPFileStreamer.php.

Constructor & Destructor Documentation

◆ __construct()

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

Definition at line 69 of file HTTPFileStreamer.php.

References $params, $path, and and().

Member Function Documentation

◆ contentTypeFromPath()

static 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 268 of file HTTPFileStreamer.php.

References $ext, and and().

◆ parseRange()

static 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 225 of file HTTPFileStreamer.php.

References and(), and list.

Referenced by StreamFile\parseRange(), and stream().

◆ preprocessHeaders()

static 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 49 of file HTTPFileStreamer.php.

References $header, and and().

Referenced by HTTPFileStreamerTest\testPreprocessHeaders().

◆ resetOutputBuffers()

static HTTPFileStreamer::resetOutputBuffers ( )
staticprotected

Definition at line 252 of file HTTPFileStreamer.php.

References and().

◆ send404Message()

static 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 201 of file HTTPFileStreamer.php.

References $fname, and(), and HttpStatus\header().

Referenced by FileBackendStore\doStreamFile(), StreamFile\send404Message(), and stream().

◆ stream()

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 86 of file HTTPFileStreamer.php.

References $data, $header, $type, and(), false, HttpStatus\header(), parseRange(), print, send404Message(), and STREAM_HEADLESS.

Member Data Documentation

◆ $obResetFunc

callable HTTPFileStreamer::$obResetFunc
protected

Definition at line 33 of file HTTPFileStreamer.php.

◆ $path

string HTTPFileStreamer::$path
protected

Definition at line 31 of file HTTPFileStreamer.php.

Referenced by __construct().

◆ $streamMimeFunc

callable HTTPFileStreamer::$streamMimeFunc
protected

Definition at line 35 of file HTTPFileStreamer.php.

◆ STREAM_ALLOW_OB

const HTTPFileStreamer::STREAM_ALLOW_OB = 2

Definition at line 40 of file HTTPFileStreamer.php.

Referenced by FileBackendStore\doStreamFile().

◆ STREAM_HEADLESS

const HTTPFileStreamer::STREAM_HEADLESS = 1

Definition at line 38 of file HTTPFileStreamer.php.

Referenced by FileBackendStore\doStreamFile(), and stream().


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