MediaWiki REL1_31
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, and $path.

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

References $ext.

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

References 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, $name, and as.

Referenced by HTTPFileStreamerTest\testPreprocessHeaders().

◆ resetOutputBuffers()

static HTTPFileStreamer::resetOutputBuffers ( )
staticprotected

Definition at line 257 of file HTTPFileStreamer.php.

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

References $fname, 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
Exceptions
MWException
Returns
bool Success

Definition at line 91 of file HTTPFileStreamer.php.

References $header, $type, as, 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: