W3cubDocs

/CakePHP 3.5

Class Response

A response class intended for test cases.

Cake\Http\Response implements Psr\Http\Message\ResponseInterface uses Zend\Diactoros\MessageTrait
Extended by Cake\TestSuite\Stub\Response

Inherited Properties

Method Summary

  • send() public
    Stub the send() method so headers and output are not sent.

Method Detail

send()source public

send( )

Stub the send() method so headers and output are not sent.

Returns


$this

Overrides

Cake\Http\Response::send()

Methods inherited from Cake\Http\Response

__construct()source public

__construct( array $options [] )

Constructor

Parameters

array $options optional []

list of parameters to setup the response. Possible values are: - body: the response text that should be sent to the client - statusCodes: additional allowable response codes - status: the HTTP status code to respond with - type: a complete mime-type string or an extension mapped in this class - charset: the charset for the response body

__debugInfo()source public

__debugInfo( )

Returns an array that can be used to describe the internal state of this object.

Returns

array

__toString()source public

__toString( )

String conversion. Fetches the response body as a string. Does not send headers. If body is a callable, a blank string is returned.

Returns

string

_clearBuffer()source protected

_clearBuffer( )

Clears the contents of the topmost output buffer and discards them

Deprecated

3.2.4 This function is not needed anymore

Returns

boolean

_clearHeader()source protected

_clearHeader( string $header )

Clear header

Parameters

string $header
Header key.

_createStream()source protected

_createStream( )

Creates the stream object.

_fileRange()source protected

_fileRange( Cake\Filesystem\File $file , string $httpRange )

Apply a file range to a file and set the end offset.

If an invalid range is requested a 416 Status code will be used in the response.

Deprecated

3.4.0 Long term this needs to be refactored to follow immutable paradigms. However for now, it is simpler to leave this alone.


Parameters

Cake\Filesystem\File $file
The file to set a range on.
string $httpRange
The range to use.

_flushBuffer()source protected

_flushBuffer( )

Flushes the contents of the output buffer

Deprecated

3.2.4 This function is not needed anymore

_getUTCDate()source protected

_getUTCDate( string|integer|DateTime|null $time null )

Returns a DateTime object initialized at the $time param and using UTC as timezone

Parameters

string|integer|DateTime|null $time optional null
Valid time string or \DateTime instance.

Returns

DateTime

_handleCallableBody()source protected

_handleCallableBody( callable $content )

Handles the callable body for backward compatibility reasons.

Parameters

callable $content
Callable content.

Returns

string

_isActive()source protected

_isActive( )

Returns true if connection is still active

Deprecated

3.4.0 Will be removed in 4.0.0

Returns

boolean

_sendContent()source protected

_sendContent( string|callable $content )

Sends a content string to the client.

If the content is a callable, it is invoked. The callable should either return a string or output content directly and have no return value.

Deprecated

3.4.0 Will be removed in 4.0.0

Parameters

string|callable $content

String to send as response body or callable which returns/outputs content.

_sendFile()source protected

_sendFile( Cake\Filesystem\File $file , array $range )

Reads out a file, and echos the content to the client.

Deprecated

3.4.0 Will be removed in 4.0.0

Parameters

Cake\Filesystem\File $file
File object
array $range
The range to read out of the file.

Returns

boolean
True is whole file is echoed successfully or false if client connection is lost in between

_sendHeader()source protected

_sendHeader( string $name , string|null $value null )

Sends a header to the client.

Deprecated

3.4.0 Will be removed in 4.0.0

Parameters

string $name
the header name
string|null $value optional null
the header value

_setCacheControl()source protected

_setCacheControl( )

Helper method to generate a valid Cache-Control header from the options set in other methods

_setContent()source protected

_setContent( )

Sets the response body to an empty text if the status code is 204 or 304

Deprecated

3.4.0 Will be removed in 4.0.0

_setContentType()source protected

_setContentType( )

Formats the Content-Type header based on the configured contentType and charset the charset will only be set in the header if the response is of type text/*

_setCookies()source protected

_setCookies( )

Sets the cookies that have been added via Cake\Http\Response::cookie() before any other output is sent to the client. Will set the cookies in the order they have been set.

Deprecated

3.4.0 Will be removed in 4.0.0

_setHeader()source protected

_setHeader( string $header , string $value )

Sets a header.

Parameters

string $header
Header key.
string $value
Header value.

body()source public

body( string|callable|null $content null )

Buffers the response message to be sent if $content is null the current buffer is returned

Deprecated

3.4.0 Mutable response methods are deprecated. Use withBody()/withStringBody() and getBody() instead.

Parameters

string|callable|null $content optional null
the string or callable message to be sent

Returns

string|null
Current message buffer if $content param is passed as null

cache()source public

cache( string $since , string $time '+1 day' )

Sets the correct headers to instruct the client to cache the response.

Deprecated

3.4.0 Use withCache() instead.

Parameters

string $since
a valid time since the response text has not been modified
string $time optional '+1 day'
a valid time for cache expiry

charset()source public

charset( string|null $charset null )

Sets the response charset if $charset is null the current charset is returned

Deprecated

3.5.0 Use getCharset()/withCharset() instead.

Parameters

string|null $charset optional null
Character set string.

Returns

string
Current charset

checkNotModified()source public

checkNotModified( Cake\Http\ServerRequest $request )

Checks whether a response has not been modified according to the 'If-None-Match' (Etags) and 'If-Modified-Since' (last modification date) request headers. If the response is detected to be not modified, it is marked as so accordingly so the client can be informed of that.

In order to mark a response as not modified, you need to set at least the Last-Modified etag response header before calling this method. Otherwise a comparison will not be possible.

Parameters

Cake\Http\ServerRequest $request
Request object

Returns

boolean
Whether the response was marked as not modified or not.

compress()source public

compress( )

Sets the correct output buffering handler to send a compressed response. Responses will be compressed with zlib, if the extension is available.

Returns

boolean
false if client does not accept compressed responses or no handler is available, true otherwise

convertCookieToArray()source protected

convertCookieToArray( Cake\Http\Cookie\CookieInterface $cookie )

Convert the cookie into an array of its properties.

This method is compatible with the historical behavior of Cake\Http\Response, where httponly is httpOnly and expires is expire

Parameters

Cake\Http\Cookie\CookieInterface $cookie
Cookie object.

Returns

array
cookie( array|null $options null )

Getter/Setter for cookie configs

This method acts as a setter/getter depending on the type of the argument. If the method is called with no arguments, it returns all configurations.

If the method is called with a string as argument, it returns either the given configuration if it is set, or null, if it's not set.

If the method is called with an array as argument, it will set the cookie configuration to the cookie container.

### Options (when setting a configuration) - name: The Cookie name - value: Value of the cookie - expire: Time the cookie expires in - path: Path the cookie applies to - domain: Domain the cookie is for. - secure: Is the cookie https? - httpOnly: Is the cookie available in the client?

Examples

Getting all cookies

$this->cookie()

Getting a certain cookie configuration

$this->cookie('MyCookie')

Setting a cookie configuration

$this->cookie((array) $options)

Deprecated

3.4.0 Use getCookie(), getCookies() and withCookie() instead.

Parameters

array|null $options optional null

Either null to get all cookies, string for a specific cookie or array to set cookie.

Returns

mixed

cors()source public

cors( Cake\Http\ServerRequest $request , string|array $allowedDomains [] , string|array $allowedMethods [] , string|array $allowedHeaders [] )

Setup access for origin and methods on cross origin requests

This method allow multiple ways to setup the domains, see the examples

Full URI

cors($request, 'https://www.cakephp.org');

URI with wildcard

cors($request, 'https://*.cakephp.org');

Ignoring the requested protocol

cors($request, 'www.cakephp.org');

Any URI

cors($request, '*');

Whitelist of URIs

cors($request, ['http://www.cakephp.org', '*.google.com', 'https://myproject.github.io']);

Note The $allowedDomains, $allowedMethods, $allowedHeaders parameters are deprecated. Instead the builder object should be used.

Parameters

Cake\Http\ServerRequest $request
Request object
string|array $allowedDomains optional []
List of allowed domains, see method description for more details
string|array $allowedMethods optional []
List of HTTP verbs allowed
string|array $allowedHeaders optional []
List of HTTP headers allowed

Returns

Cake\Network\CorsBuilder

A builder object the provides a fluent interface for defining additional CORS headers.


disableCache()source public

disableCache( )

Sets the correct headers to instruct the client to not cache the response

Deprecated

3.4.0 Use withDisabledCache() instead.

download()source public

download( string $filename )

Sets the correct headers to instruct the browser to download the response as a file.

Deprecated

3.4.0 Use withDownload() instead.

Parameters

string $filename
The name of the file as the browser will download the response

etag()source public

etag( string|null $hash null , boolean $weak false )

Sets the response Etag, Etags are a strong indicative that a response can be cached by a HTTP client. A bad way of generating Etags is creating a hash of the response output, instead generate a unique hash of the unique components that identifies a request, such as a modification time, a resource Id, and anything else you consider it makes it unique.

Second parameter is used to instruct clients that the content has changed, but semantically, it can be used as the same thing. Think for instance of a page with a hit counter, two different page views are equivalent, but they differ by a few bytes. This leaves off to the Client the decision of using or not the cached page.

If no parameters are passed, current Etag header is returned.

Deprecated

3.4.0 Use withEtag() instead.

Parameters

string|null $hash optional null
The unique hash that identifies this response
boolean $weak optional false

Whether the response is semantically the same as other with the same hash or not

Returns

string|null

expires()source public

expires( string|DateTime|null $time null )

Sets the Expires header for the response by taking an expiration time If called with no parameters it will return the current Expires value

Examples:

$response->expires('now') Will Expire the response cache now $response->expires(new DateTime('+1 day')) Will set the expiration in next 24 hours $response->expires() Will return the current expiration header value

Deprecated

3.4.0 Use withExpires() instead.

Parameters

string|DateTime|null $time optional null
Valid time string or \DateTime instance.

Returns

string|null

file()source public

file( string $path , array $options [] )

Setup for display or download the given file.

If $_SERVER['HTTP_RANGE'] is set a slice of the file will be returned instead of the entire file.

Options keys

  • name: Alternate download name
  • download: If true set