class HTTPStreamResponse extends HTTPResponse (View source)

A response which contains a streamable data source.

Traits

A class that can be instantiated or replaced via DI

Methods

static Injectable
create(array ...$args)

An implementation of the factory method, allows you to create an instance of a class

static Injectable
singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

__construct(resource $stream, int $contentLength, int $statusCode = null, string $statusDescription = null)

HTTPStreamResponse constructor.

$this
setProtocolVersion(string $protocolVersion)

The HTTP version used to respond to this request (typically 1.0 or 1.1)

$this
setStatusCode(int $code, string $description = null)

No description

$this
setStatusDescription(string $description)

The text to be given alongside the status code ("reason phrase").

string
getProtocolVersion()

No description

int
getStatusCode()

No description

string
getStatusDescription()

No description

bool
isError()

Returns true if this HTTP response is in error

$this
setBody(string $body)

No description

string
getBody()

No description

$this
addHeader(string $header, string $value)

Add a HTTP header to the response, replacing any header of the same name.

string
getHeader(string $header)

Return the HTTP header of the given name.

array
getHeaders()

No description

$this
removeHeader(string $header)

Remove an existing HTTP header by its name, e.g. "Content-Type".

$this
redirect(string $dest, int $code = 302)

No description

output()

Send this HTTPResponse to the browser

bool
isFinished()

Returns true if this response is "finished", that is, no more script execution should be done.

bool
isRedirect()

Determine if this response is a redirect

string
__toString()

The HTTP response represented as a raw string

resource
getStream()

No description

$this
setStream(resource $stream)

No description

string
getSavedBody()

Get body prior to stream traversal

Details

static Injectable create(array ...$args)

An implementation of the factory method, allows you to create an instance of a class

This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.

This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();

Parameters

array ...$args

Return Value

Injectable

static Injectable singleton(string $class = null)

Creates a class instance by the "singleton" design pattern.

It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).

Parameters

string $class

Optional classname to create, if the called class should not be used

Return Value

Injectable

The singleton instance

__construct(resource $stream, int $contentLength, int $statusCode = null, string $statusDescription = null)

HTTPStreamResponse constructor.

Parameters

resource $stream

Data stream

int $contentLength

size of the stream in bytes

int $statusCode

The numeric status code - 200, 404, etc

string $statusDescription

The text to be given alongside the status code. See {@link setStatusCode()} for more information.

$this setProtocolVersion(string $protocolVersion)

The HTTP version used to respond to this request (typically 1.0 or 1.1)

Parameters

string $protocolVersion

Return Value

$this

$this setStatusCode(int $code, string $description = null)

Parameters

int $code
string $description

Optional. See {@link setStatusDescription()}. No newlines are allowed in the description. If omitted, will default to the standard HTTP description for the given $code value (see {@link $status_codes}).

Return Value

$this

$this setStatusDescription(string $description)

The text to be given alongside the status code ("reason phrase").

Caution: Will be overwritten by {@link setStatusCode()}.

Parameters

string $description

Return Value

$this

string getProtocolVersion()

Return Value

string

int getStatusCode()

Return Value

int

string getStatusDescription()

Return Value

string

Description for a HTTP status code

bool isError()

Returns true if this HTTP response is in error

Return Value

bool

$this setBody(string $body)

Parameters

string $body

Return Value

$this

string getBody()

Return Value

string

$this addHeader(string $header, string $value)

Add a HTTP header to the response, replacing any header of the same name.

Parameters

string $header

Example: "content-type"

string $value

Example: "text/xml"

Return Value

$this

string getHeader(string $header)

Return the HTTP header of the given name.

Parameters

string $header

Return Value

string

array getHeaders()

Return Value

array

$this removeHeader(string $header)

Remove an existing HTTP header by its name, e.g. "Content-Type".

Parameters

string $header

Return Value

$this

$this redirect(string $dest, int $code = 302)

Parameters

string $dest
int $code

Return Value

$this

output()

Send this HTTPResponse to the browser

bool isFinished()

Returns true if this response is "finished", that is, no more script execution should be done.

Specifically, returns true if a redirect has already been requested

Return Value

bool

bool isRedirect()

Determine if this response is a redirect

Return Value

bool

string __toString()

The HTTP response represented as a raw string

Return Value

string

resource getStream()

Return Value

resource

$this setStream(resource $stream)

Parameters

resource $stream

Return Value

$this

string getSavedBody()

Get body prior to stream traversal

Return Value

string