Class CakeResponse

CakeResponse is responsible for managing the response text, status and headers of a HTTP response.

By default controllers will use this class to render their response. If you are going to use a custom response class it should subclass this object in order to ensure compatibility.

Package: Cake\Network
Copyright: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
License: MIT License
Location: Cake/Network/CakeResponse.php

Properties summary

  • $_body protected
    string
    Buffer string for response message
  • $_cacheDirectives protected
    string

    Holds all the cache directives that will be converted into headers when sending the request

  • $_charset protected
    string
    The charset the response body is encoded with
  • $_contentType protected
    integer

    Content type to send. This can be an 'extension' that will be transformed using the $_mimetypes array or a complete mime-type

  • $_cookies protected
    array
    Holds cookies to be sent to the client
  • $_file protected
    File object for file to be read out as response
  • $_fileRange protected
    array
    File range. Used for requesting ranges of files.
  • $_headers protected
    array
    Buffer list of headers
  • $_mimeTypes protected
    array
    Holds known mime type mappings
  • $_protocol protected
    string
    Protocol header to send to the client
  • $_status protected
    integer
    Status code to send to the client
  • $_statusCodes protected
    array
    Holds HTTP response statuses

Method Summary

  • __construct() public
    Constructor
  • __toString() public

    String conversion. Fetches the response body as a string. Does not send headers.

  • _clearBuffer() protected
    Clears the contents of the topmost output buffer and discards them
  • _fileRange() protected
    Apply a file range to a file and set the end offset.
  • _flushBuffer() protected
    Flushes the contents of the output buffer
  • _getUTCDate() protected

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

  • _isActive() protected
    Returns true if connection is still active
  • Normalize the origin to regular expressions and put in an array format
  • _sendContent() protected
    Sends a content string to the client.
  • _sendFile() protected
    Reads out a file, and echos the content to the client.
  • _sendHeader() protected
    Sends a header to the client.
  • _setCacheControl() protected

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

  • _setContent() protected
    Sets the response body to an empty text if the status code is 204 or 304
  • Calculates the correct Content-Length and sets it as a header in the response Will not set the value if already set or if the output is compressed.

  • _setContentType() protected

    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() protected

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

  • body() public

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

  • cache() public
    Sets the correct headers to instruct the client to cache the response.
  • charset() public

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

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

  • compress() public

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

  • cookie() public
    Getter/Setter for cookie configs
  • cors() public
    Setup access for origin and methods on cross origin requests
  • Sets the correct headers to instruct the client to not cache the response
  • download() public
    Sets the correct headers to instruct the browser to download the response as a file.
  • etag() public

    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.

  • expires() public

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

  • file() public
    Setup for display or download the given file.
  • getMimeType() public
    Returns the mime type definition for an alias
  • header() public

    Buffers a header string to be sent Returns the complete list of buffered headers

  • httpCodes() public
    Queries & sets valid HTTP response codes & messages.
  • length() public

    Sets the Content-Length header for the response If called with no arguments returns the last Content-Length set

  • location() public
    Accessor for the location header.
  • mapType() public
    Maps a content-type back to an alias
  • maxAge() public

    Sets the Cache-Control max-age directive. The max-age is the number of seconds after which the response should no longer be considered a good candidate to be fetched from the local (client) cache. If called with no parameters, this function will return the current max-age value if any

  • modified() public

    Sets the Last-Modified header for the response by taking a modification time If called with no parameters it will return the current Last-Modified value

  • Sets the Cache-Control must-revalidate directive. must-revalidate indicates that the response should not be served stale by a cache under any circumstance without first revalidating with the origin. If called with no parameters, this function will return whether must-revalidate is present.

  • notModified() public

    Sets the response as Not Modified by removing any body contents setting the status code to "304 Not Modified" and removing all conflicting headers

  • Returns whether the resulting output will be compressed by PHP
  • protocol() public

    Sets the protocol to be used when sending the response. Defaults to HTTP/1.1 If called with no arguments, it will return the current configured protocol

  • send() public

    Sends the complete response to the client including headers and message body. Will echo out the content in the response body.

  • sharable() public

    Sets whether a response is eligible to be cached by intermediate proxies This method controls the public or private directive in the Cache-Control header

  • Sets the Cache-Control s-maxage directive. The max-age is the number of seconds after which the response should no longer be considered a good candidate to be fetched from a shared cache (like in a proxy server). If called with no parameters, this function will return the current max-age value if any

  • statusCode() public

    Sets the HTTP status code to be sent if $code is null the current code is returned

  • type() public

    Sets the response content type. It can be either a file extension which will be mapped internally to a mime-type or a string representing a mime-type if $contentType is null the current content type is returned if $contentType is an associative array, content type definitions will be stored/replaced

  • vary() public

    Sets the Vary header for the response, if an array is passed, values will be imploded into a comma separated string. If no parameters are passed, then an array with the current Vary header value is returned

Method Detail

__construct()source public

__construct( array $options array() )

Constructor

Parameters

array $options optional array()

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

__toString()source public

__toString( )

String conversion. Fetches the response body as a string. Does not send headers.

Returns

string

_clearBuffer()source protected

_clearBuffer( )

Clears the contents of the topmost output buffer and discards them

Returns

boolean

_fileRange()source protected

_fileRange( 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.

Parameters

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

_getUTCDate()source protected

_getUTCDate( DateTime|integer|string $time null )

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

Parameters

DateTime|integer|string $time optional null
Valid time string or unix timestamp or DateTime object.

Returns

DateTime

_isActive()source protected

_isActive( )

Returns true if connection is still active

Returns

boolean

_normalizeCorsDomains()source protected

_normalizeCorsDomains( array $domains , boolean $requestIsSSL false )

Normalize the origin to regular expressions and put in an array format

Parameters

array $domains
Domains to normalize
boolean $requestIsSSL optional false
Whether it's a SSL request.

Returns

array

_sendContent()source protected

_sendContent( string $content )

Sends a content string to the client.

Parameters

string $content
string to send as response body

_sendFile()source protected

_sendFile( File $file , array $range )

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

Parameters

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 $value null )

Sends a header to the client.

Will skip sending headers if headers have already been sent.

Parameters

string $name
the header name
string $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

_setContentLength()source protected

_setContentLength( )

Calculates the correct Content-Length and sets it as a header in the response Will not set the value if already set or if the output is compressed.

_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 CakeResponse::cookie() before any other output is sent to the client. Will set the cookies in the order they have been set.

body()source public

body( string $content null )

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

Parameters

string $content optional null
the string message to be sent

Returns

string
current message buffer if $content param is passed as null

cache()source public

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

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

Parameters

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

charset()source public

charset( string $charset null )

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

Parameters

string $charset optional null
Character set string.

Returns

string
current charset

checkNotModified()source public

checkNotModified( CakeRequest $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

CakeRequest $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
cookie( array $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)

Parameters

array $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( CakeRequest $request , string|array $allowedDomains , string|array $allowedMethods array() , string|array $allowedHeaders array() )

Setup access for origin and methods on cross origin requests

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

Full URI

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

URI with wildcard

e.g cors($request, 'http://*.cakephp.org');

Ignoring the requested protocol

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

Any URI

e.g cors($request, '*');

Whitelist of URIs

e.g cors($request, array('https://www.cakephp.org', '*.google.com', 'https://myproject.github.io'));

Parameters

CakeRequest $request
Request object
string|array $allowedDomains
List of allowed domains, see method description for more details
string|array $allowedMethods optional array()
List of HTTP verbs allowed
string|array $allowedHeaders optional array()
List of HTTP headers allowed

disableCache()source public

disableCache( )

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

download()source public

download( string $filename )

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

Parameters

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

etag()source public

etag( string $tag 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 sematicallly, 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.

Parameters

string $tag optional null
Tag to set.
boolean $weak optional false

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

Returns

string

expires()source public

expires( string|DateTime $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

Parameters

string|DateTime $time optional null
Valid time string or DateTime object.

Returns

string

file()source public

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

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 sets download header and forces file to be downloaded rather than displayed in browser

Parameters

string $path

Path to file. If the path is not an absolute path that resolves to a file, APP will be prepended to the path.

array $options optional array()
Options See above.

Throws

NotFoundException

getMimeType()source public

getMimeType( string $alias )

Returns the mime type definition for an alias

e.g getMimeType('pdf'); // returns 'application/pdf'

Parameters

string $alias
the content type alias to map

Returns

mixed
string mapped mime type or false if $alias is not mapped

header()source public

header( string|array $header null , string|array $value null )

Buffers a header string to be sent Returns the complete list of buffered headers

Single header

e.g header('Location', 'http://example.com');

Multiple headers

e.g header(array('Location' => 'http://example.com', 'X-Extra' => 'My header'));

String header

e.g header('WWW-Authenticate: Negotiate');

Array of string headers

e.g header(array('WWW-Authenticate: Negotiate', 'Content-type: application/pdf'));

Multiple calls for setting the same header name will have the same effect as setting the header once with the last value sent for it e.g header('WWW-Authenticate: Negotiate'); header('WWW-Authenticate: Not-Negotiate'); will have the same effect as only doing header('WWW-Authenticate: Not-Negotiate');

Parameters

string|array $header optional null

An array of header strings or a single header string - an associative array of "header name" => "header value" is also accepted - an array of string headers is also accepted

string|array $value optional null
The header value(s)

Returns

array
list of headers to be sent

httpCodes()source public

httpCodes( integer|array $code null )

Queries & sets valid HTTP response codes & messages.

Parameters

integer|array $code optional null

If $code is an integer, then the corresponding code/message is returned if it exists, null if it does not exist. If $code is an array, then the keys are used as codes and the values as messages to add to the default HTTP codes. The codes must be integers greater than 99 and less than 1000. Keep in mind that the HTTP specification outlines that status codes begin with a digit between 1 and 5, which defines the class of response the client is to expect. Example:

httpCodes(404); // returns array(404 => 'Not Found')

   httpCodes(array(
       381 => 'Unicorn Moved',
       555 => 'Unexpected Minotaur'
   )); // sets these new values, and returns true

   httpCodes(array(
       0 => 'Nothing Here',
       -1 => 'Reverse Infinity',
       12345 => 'Universal Password',
       'Hello' => 'World'
   )); // throws an exception due to invalid codes

   For more on HTTP status codes see: http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6.1

Returns

mixed

associative array of the HTTP codes as keys, and the message strings as values, or null of the given $code does not exist.


Throws

CakeException
If an attempt is made to add an invalid status code

length()source public

length( integer $bytes null )

Sets the Content-Length header for the response If called with no arguments returns the last Content-Length set

Parameters

integer $bytes optional null
Number of bytes

Returns

integer|null

location()source public

location( null|string $url null )

Accessor for the location header.

Get/Set the Location header value.

Parameters

null|string $url optional null
Either null to get the current location, or a string to set one.

Returns

string|null

When setting the location null will be returned. When reading the location a string of the current location header value (if any) will be returned.


mapType()source public

mapType( string|array $ctype )

Maps a content-type back to an alias

e.g mapType('application/pdf'); // returns 'pdf'

Parameters

string|array $ctype
Either a string content type to map, or an array of types.

Returns

mixed
Aliases for the types provided.

maxAge()source public

maxAge( integer $seconds null )

Sets the Cache-Control max-age directive. The max-age is the number of seconds after which the response should no longer be considered a good candidate to be fetched from the local (client) cache. If called with no parameters, this function will return the current max-age value if any

Parameters

integer $seconds optional null
if null, the method will return the current max-age value

Returns

integer

modified()source public

modified( string|DateTime $time null )

Sets the Last-Modified header for the response by taking a modification time If called with no parameters it will return the current Last-Modified value

Examples:

$response->modified('now') Will set the Last-Modified to the current time $response->modified(new DateTime('+1 day')) Will set the modification date in the past 24 hours $response->modified() Will return the current Last-Modified header value

Parameters

string|DateTime $time optional null
Valid time string or DateTime object.

Returns

string

mustRevalidate()source public

mustRevalidate( boolean $enable null )

Sets the Cache-Control must-revalidate directive. must-revalidate indicates that the response should not be served stale by a cache under any circumstance without first revalidating with the origin. If called with no parameters, this function will return whether must-revalidate is present.

Parameters

boolean $enable optional null

If null returns whether directive is set, if boolean sets or unsets directive.

Returns

boolean

notModified()source public

notModified( )

Sets the response as Not Modified by removing any body contents setting the status code to "304 Not Modified" and removing all conflicting headers

outputCompressed()source public

outputCompressed( )

Returns whether the resulting output will be compressed by PHP

Returns

boolean

protocol()source public

protocol( string $protocol null )

Sets the protocol to be used when sending the response. Defaults to HTTP/1.1 If called with no arguments, it will return the current configured protocol

Parameters

string $protocol optional null
Protocol to be used for sending response.

Returns

string
protocol currently set

send()source public

send( )

Sends the complete response to the client including headers and message body. Will echo out the content in the response body.

sharable()source public

sharable( boolean $public null , integer $time null )

Sets whether a response is eligible to be cached by intermediate proxies This method controls the public or private directive in the Cache-Control header

Parameters

boolean $public optional null

If set to true, the Cache-Control header will be set as public if set to false, the response will be set to private if no value is provided, it will return whether the response is sharable or not

integer $time optional null
time in seconds after which the response should no longer be considered fresh

Returns

boolean

sharedMaxAge()source public

sharedMaxAge( integer $seconds null )

Sets the Cache-Control s-maxage directive. The max-age is the number of seconds after which the response should no longer be considered a good candidate to be fetched from a shared cache (like in a proxy server). If called with no parameters, this function will return the current max-age value if any

Parameters

integer $seconds optional null
if null, the method will return the current s-maxage value

Returns

integer

statusCode()source public

statusCode( integer $code null )

Sets the HTTP status code to be sent if $code is null the current code is returned

Parameters

integer $code optional null
the HTTP status code

Returns

integer
current status code

Throws

CakeException
When an unknown status code is reached.

type()source public

type( string $contentType null )

Sets the response content type. It can be either a file extension which will be mapped internally to a mime-type or a string representing a mime-type if $contentType is null the current content type is returned if $contentType is an associative array, content type definitions will be stored/replaced

Setting the content type

e.g type('jpg');

Returning the current content type

e.g type();

Storing content type definitions

e.g type(array('keynote' => 'application/keynote', 'bat' => 'application/bat'));

Replacing a content type definition

e.g type(array('jpg' => 'text/plain'));

Parameters

string $contentType optional null
Content type key.

Returns

mixed
current content type or false if supplied an invalid content type

vary()source public

vary( string|array $cacheVariances null )

Sets the Vary header for the response, if an array is passed, values will be imploded into a comma separated string. If no parameters are passed, then an array with the current Vary header value is returned

Parameters

string|array $cacheVariances optional null

a single Vary string or an array containing the list for variances.

Returns

array

Properties detail

$_bodysource

protected string

Buffer string for response message

null

$_cacheDirectivessource

protected string

Holds all the cache directives that will be converted into headers when sending the request

array()

$_charsetsource

protected string

The charset the response body is encoded with

'UTF-8'

$_contentTypesource

protected integer

Content type to send. This can be an 'extension' that will be transformed using the $_mimetypes array or a complete mime-type

'text/html'

$_cookiessource

protected array

Holds cookies to be sent to the client

array()

$_filesource

protected File

File object for file to be read out as response

null

$_fileRangesource

protected array

File range. Used for requesting ranges of files.

null

$_headerssource

protected array

Buffer list of headers

array()

$_mimeTypessource

protected array

Holds known mime type mappings

array(
    'html' => array('text/html', '*/*'),
    'json' => 'application/json',
    'xml' => array('application/xml', 'text/xml'),
    'rss' => 'application/rss+xml',
    'ai' => 'application/postscript',
    'bcpio' => 'application/x-bcpio',
    'bin' => 'application/octet-stream',
    'ccad' => 'application/clariscad',
    'cdf' => 'application/x-netcdf',
    'class' => 'application/octet-stream',
    'cpio' => 'application/x-cpio',
    'cpt' => 'application/mac-compactpro',
    'csh' => 'application/x-csh',
    'csv' => array('text/csv', 'application/vnd.ms-excel'),
    'dcr' => 'application/x-director',
    'dir' => 'application/x-director',
    'dms' => 'application/octet-stream',
    'doc' => 'application/msword',
    'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
    'drw' => 'application/drafting',
    'dvi' => 'application/x-dvi',
    'dwg' => 'application/acad',
    'dxf' => 'application/dxf',
    'dxr' => 'application/x-director',
    'eot' => 'application/vnd.ms-fontobject',
    'eps' => 'application/postscript',
    'exe' => 'application/octet-stream',
    'ez' => 'application/andrew-inset',
    'flv' => 'video/x-flv',
    'gtar' => 'application/x-gtar',
    'gz' => 'application/x-gzip',
    'bz2' => 'application/x-bzip',
    '7z' => 'application/x-7z-compressed',
    'hdf' => 'application/x-hdf',
    'hqx' => 'application/mac-binhex40',
    'ico' => 'image/x-icon',
    'ips' => 'application/x-ipscript',
    'ipx' => 'application/x-ipix',
    'js' => 'application/javascript',
    'jsonapi' => 'application/vnd.api+json',
    'latex' => 'application/x-latex',
    'lha' => 'application/octet-stream',
    'lsp' => 'application/x-lisp',
    'lzh' => 'application/octet-stream',
    'man' => 'application/x-troff-man',
    'me' => 'application/x-troff-me',
    'mif' => 'application/vnd.mif',
    'ms' => 'application/x-troff-ms',
    'nc' => 'application/x-netcdf',
    'oda' => 'application/oda',
    'otf' => 'font/otf',
    'pdf' => 'application/pdf',
    'pgn' => 'application/x-chess-pgn',
    'pot' => 'application/vnd.ms-powerpoint',
    'pps' => 'application/vnd.ms-powerpoint',
    'ppt' => 'application/vnd.ms-powerpoint',
    'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
    'ppz' => 'application/vnd.ms-powerpoint',
    'pre' => 'application/x-freelance',
    'prt' => 'application/pro_eng',
    'ps' => 'application/postscript',
    'roff' => 'application/x-troff',
    'scm' => 'application/x-lotusscreencam',
    'set' => 'application/set',
    'sh' => 'application/x-sh',
    'shar' => 'application/x-shar',
    'sit' => 'application/x-stuffit',
    'skd' => 'application/x-koan',
    'skm' => 'application/x-koan',
    'skp' => 'application/x-koan',
    'skt' => 'application/x-koan',
    'smi' => 'application/smil',
    'smil' => 'application/smil',
    'sol' => 'application/solids',
    'spl' => 'application/x-futuresplash',
    'src' => 'application/x-wais-source',
    'step' => 'application/STEP',
    'stl' => 'application/SLA',
    'stp' => 'application/STEP',
    'sv4cpio' => 'application/x-sv4cpio',
    'sv4crc' => 'application/x-sv4crc',
    'svg' => 'image/svg+xml',
    'svgz' => 'image/svg+xml',
    'swf' => 'application/x-shockwave-flash',
    't' => 'application/x-troff',
    'tar' => 'application/x-tar',
    'tcl' => 'application/x-tcl',
    'tex' => 'application/x-tex',
    'texi' => 'application/x-texinfo',
    'texinfo' => 'application/x-texinfo',
    'tr' => 'application/x-troff',
    'tsp' => 'application/dsptype',
    'ttc' => 'font/ttf',
    'ttf' => 'font/ttf',
    'unv' => 'application/i-deas',
    'ustar' => 'application/x-ustar',
    'vcd' => 'application/x-cdlink',
    'vda' => 'application/vda',
    'xlc' => 'application/vnd.ms-excel',
    'xll' => 'application/vnd.ms-excel',
    'xlm' => 'application/vnd.ms-excel',
    'xls' => 'application/vnd.ms-excel',
    'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
    'xlw' => 'application/vnd.ms-excel',
    'zip' => 'application/zip',
    'aif' => 'audio/x-aiff',
    'aifc' => 'audio/x-aiff',
    'aiff' => 'audio/x-aiff',
    'au' => 'audio/basic',
    'kar' => 'audio/midi',
    'mid' => 'audio/midi',
    'midi' => 'audio/midi',
    'mp2' => 'audio/mpeg',
    'mp3' => 'audio/mpeg',
    'mpga' => 'audio/mpeg',
    'ogg' => 'audio/ogg',
    'oga' => 'audio/ogg',
    'spx' => 'audio/ogg',
    'ra' => 'audio/x-realaudio',
    'ram' => 'audio/x-pn-realaudio',
    'rm' => 'audio/x-pn-realaudio',
    'rpm' => 'audio/x-pn-realaudio-plugin',
    'snd' => 'audio/basic',
    'tsi' => 'audio/TSP-audio',
    'wav' => 'audio/x-wav',
    'aac' => 'audio/aac',
    'asc' => 'text/plain',
    'c' => 'text/plain',
    'cc' => 'text/plain',
    'css' => 'text/css',
    'etx' => 'text/x-setext',
    'f' => 'text/plain',
    'f90' => 'text/plain',
    'h' => 'text/plain',
    'hh' => 'text/plain',
    'htm' => array('text/html', '*/*'),
    'ics' => 'text/calendar',
    'm' => 'text/plain',
    'rtf' => 'text/rtf',
    'rtx' => 'text/richtext',
    'sgm' => 'text/sgml',
    'sgml' => 'text/sgml',
    'tsv' => 'text/tab-separated-values',
    'tpl' => 'text/template',
    'txt' => 'text/plain',
    'text' => 'text/plain',
    'avi' => 'video/x-msvideo',
    'fli' => 'video/x-fli',
    'mov' => 'video/quicktime',
    'movie' => 'video/x-sgi-movie',
    'mpe' => 'video/mpeg',
    'mpeg' => 'video/mpeg',
    'mpg' => 'video/mpeg',
    'qt' => 'video/quicktime',
    'viv' => 'video/vnd.vivo',
    'vivo' => 'video/vnd.vivo',
    'ogv' => 'video/ogg',
    'webm' => 'video/webm',
    'mp4' => 'video/mp4',
    'm4v' => 'video/mp4',
    'f4v' => 'video/mp4',
    'f4p' => 'video/mp4',
    'm4a' => 'audio/mp4',
    'f4a' => 'audio/mp4',
    'f4b' => 'audio/mp4',
    'gif' => 'image/gif',
    'ief' => 'image/ief',
    'jpg' => 'image/jpeg',
    'jpeg' => 'image/jpeg',
    'jpe' => 'image/jpeg',
    'pbm' => 'image/x-portable-bitmap',
    'pgm' => 'image/x-portable-graymap',
    'png' => 'image/png',
    'pnm' => 'image/x-portable-anymap',
    'ppm' => 'image/x-portable-pixmap',
    'ras' => 'image/cmu-raster',
    'rgb' => 'image/x-rgb',
    'tif' => 'image/tiff',
    'tiff' => 'image/tiff',
    'xbm' => 'image/x-xbitmap',
    'xpm' => 'image/x-xpixmap',
    'xwd' => 'image/x-xwindowdump',
    'psd' => array(
        'application/photoshop',
        'application/psd',
        'image/psd',
        'image/x-photoshop',
        'image/photoshop',
        'zz-application/zz-winassoc-psd'
    ),
    'ice' => 'x-conference/x-cooltalk',
    'iges' => 'model/iges',
    'igs' => 'model/iges',
    'mesh' => 'model/mesh',
    'msh' => 'model/mesh',
    'silo' => 'model/mesh',
    'vrml' => 'model/vrml',
    'wrl' => 'model/vrml',
    'mime' => 'www/mime',
    'pdb' => 'chemical/x-pdb',
    'xyz' => 'chemical/x-pdb',
    'javascript' => 'application/javascript',
    'form' => 'application/x-www-form-urlencoded',
    'file' => 'multipart/form-data',
    'xhtml' => array('application/xhtml+xml', 'application/xhtml', 'text/xhtml'),
    'xhtml-mobile' => 'application/vnd.wap.xhtml+xml',
    'atom' => 'application/atom+xml',
    'amf' => 'application/x-amf',
    'wap' => array('text/vnd.wap.wml', 'text/vnd.wap.wmlscript', 'image/vnd.wap.wbmp'),
    'wml' => 'text/vnd.wap.wml',
    'wmlscript' => 'text/vnd.wap.wmlscript',
    'wbmp' => 'image/vnd.wap.wbmp',
    'woff' => 'application/x-font-woff',
    'webp' => 'image/webp',
    'appcache' => 'text/cache-manifest',
    'manifest' => 'text/cache-manifest',
    'htc' => 'text/x-component',
    'rdf' => 'application/xml',
    'crx' => 'application/x-chrome-extension',
    'oex' => 'application/x-opera-extension',
    'xpi' => 'application/x-xpinstall',
    'safariextz' => 'application/octet-stream',
    'webapp' => 'application/x-web-app-manifest+json',
    'vcf' => 'text/x-vcard',
    'vtt' => 'text/vtt',
    'mkv' => 'video/x-matroska',
    'pkpass' => 'application/vnd.apple.pkpass',
    'ajax' => 'text/html'
)

$_protocolsource

protected string

Protocol header to send to the client

'HTTP/1.1'

$_statussource

protected integer

Status code to send to the client

200

$_statusCodessource

protected array

Holds HTTP response statuses

array(
    100 => 'Continue',
    101 => 'Switching Protocols',
    200 => 'OK',
    201 => 'Created',
    202 => 'Accepted',
    203 => 'Non-Authoritative Information',
    204 => 'No Content',
    205 => 'Reset Content',
    206 => 'Partial Content',
    300 => 'Multiple Choices',
    301 => 'Moved Permanently',
    302 => 'Found',
    303 => 'See Other',
    304 => 'Not Modified',
    305 => 'Use Proxy',
    307 => 'Temporary Redirect',
    400 => 'Bad Request',
    401 => 'Unauthorized',
    402 => 'Payment Required',
    403 => 'Forbidden',
    404 => 'Not Found',
    405 => 'Method Not Allowed',
    406 => 'Not Acceptable',
    407 => 'Proxy Authentication Required',
    408 => 'Request Time-out',
    409 => 'Conflict',
    410 => 'Gone',
    411 => 'Length Required',
    412 => 'Precondition Failed',
    413 => 'Request Entity Too Large',
    414 => 'Request-URI Too Large',
    415 => 'Unsupported Media Type',
    416 => 'Requested range not satisfiable',
    417 => 'Expectation Failed',
    429 => 'Too Many Requests',
    500 => 'Internal Server Error',
    501 => 'Not Implemented',
    502 => 'Bad Gateway',
    503 => 'Service Unavailable',
    504 => 'Gateway Time-out',
    505 => 'Unsupported Version'
)

© 2005–2017 The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/2.10/class-CakeResponse.html