HTTPResponse
class HTTPResponse (View source)
Represents a response returned by a controller.
Traits
A class that can be instantiated or replaced via DI
Properties
protected static | array | $status_codes | ||
protected static | array | $redirect_codes | ||
protected | string | $protocolVersion | ||
protected | int | $statusCode | ||
protected | string | $statusDescription | ||
protected | array | $headers | HTTP Headers like "content-type: text/xml" |
|
protected | string | $body |
Methods
An implementation of the factory method, allows you to create an instance of a class
Creates a class instance by the "singleton" design pattern.
Create a new HTTP response
The HTTP version used to respond to this request (typically 1.0 or 1.1)
The text to be given alongside the status code ("reason phrase").
Add a HTTP header to the response, replacing any header of the same name.
Remove an existing HTTP header by its name, e.g. "Content-Type".
Returns true if this response is "finished", that is, no more script execution should be done.
Details
static Injectable
create(mixed ...$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();
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).
__construct(string $body = null, int $statusCode = null, string $statusDescription = null, string $protocolVersion = null)
Create a new HTTP response
$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").
Caution: Will be overwritten by setStatusCode().
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
protected
htmlRedirect()
Generate a browser redirect without setting headers
protected
outputHeaders()
Output HTTP headers to the browser
protected
outputBody()
Output body of this response 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
bool
isRedirect()
Determine if this response is a redirect
string
__toString()
The HTTP response represented as a raw string