MediaWiki  master
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. More...
 

Static Public Member Functions

static parseRange ($range, $size)
 Convert a Range header value to an absolute (start, end) range tuple. More...
 
static send404Message ($fname, $flags=0)
 Send out a standard 404 message for a file. More...
 

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. More...
 
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

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

References $params, and $path.

Member Function Documentation

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

References $ext.

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

References list.

Referenced by StreamFile\parseRange().

static HTTPFileStreamer::resetOutputBuffers ( )
staticprotected

Definition at line 236 of file HTTPFileStreamer.php.

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

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

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

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
Exceptions
MWException
Returns
bool Success

Definition at line 70 of file HTTPFileStreamer.php.

References $flags, $header, $type, as, false, HttpStatus\header(), and print.

Member Data Documentation

callable HTTPFileStreamer::$obResetFunc
protected

Definition at line 33 of file HTTPFileStreamer.php.

string HTTPFileStreamer::$path
protected

Definition at line 31 of file HTTPFileStreamer.php.

Referenced by __construct().

callable HTTPFileStreamer::$streamMimeFunc
protected

Definition at line 35 of file HTTPFileStreamer.php.

const HTTPFileStreamer::STREAM_ALLOW_OB = 2

Definition at line 40 of file HTTPFileStreamer.php.

Referenced by FileBackendStore\doStreamFile().

const HTTPFileStreamer::STREAM_HEADLESS = 1

Definition at line 38 of file HTTPFileStreamer.php.

Referenced by FileBackendStore\doStreamFile().


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