Responses contain the response text, status and headers of a HTTP response.
$_cacheDirectives protected arrayHolds all the cache directives that will be converted into headers when sending the request
$_charset protected string$_contentType protected stringContent type to send. This can be an 'extension' that will be transformed using the $_mimetypes array or a complete mime-type
$_cookies protected $_file protected Cake\Filesystem\File|null$_fileRange protected array$_mimeTypes protected array$_protocol protected string$_reasonPhrase protected string$_status protected integer$_statusCodes protected array$_streamMode protected string$_streamTarget protected string|resourceReturns an array that can be used to describe the internal state of this object.
String conversion. Fetches the response body as a string. Does not send headers. If body is a callable, a blank string is returned.
Returns a DateTime object initialized at the $time param and using UTC as timezone
Helper method to generate a valid Cache-Control header from the options set in other methods
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/*
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.
Buffers the response message to be sent if $content is null the current buffer is returned
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.
Sets the correct output buffering handler to send a compressed response. Responses will be compressed with zlib, if the extension is available.
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.
Sets the Expires header for the response by taking an expiration time If called with no parameters it will return the current Expires value
Buffers a header string to be sent Returns the complete list of buffered headers
Sets the Content-Length header for the response If called with no arguments returns the last Content-Length set
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
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.
Sets the response as Not Modified by removing any body contents setting the status code to "304 Not Modified" and removing all conflicting headers
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
Sends the complete response to the client including headers and message body. Will echo out the content in the response body.
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 HTTP status code to be sent if $code is null the current code is returned
Stop execution of the current script. Wraps exit() making testing easier.
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
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
__construct( array $options = [] )
Constructor
$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( )
Returns an array that can be used to describe the internal state of this object.
__toString( )
String conversion. Fetches the response body as a string. Does not send headers. If body is a callable, a blank string is returned.
_clearBuffer( )
Clears the contents of the topmost output buffer and discards them
_clearHeader( string $header )
Clear header
$header _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.
3.4.0 Long term this needs to be refactored to follow immutable paradigms. However for now, it is simpler to leave this alone.
Cake\Filesystem\File $file $httpRange _flushBuffer( )
Flushes the contents of the output buffer
_getUTCDate( string|integer|DateTimeInterface|null $time = null )
Returns a DateTime object initialized at the $time param and using UTC as timezone
$time optional null _handleCallableBody( callable $content )
Handles the callable body for backward compatibility reasons.
$content _isActive( )
Returns true if connection is still active
_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.
$content String to send as response body or callable which returns/outputs content.
_sendFile( Cake\Filesystem\File $file , array $range )
Reads out a file, and echos the content to the client.
Cake\Filesystem\File $file $range _sendHeader( string $name , string|null $value = null )
Sends a header to the client.
$name $value optional null _setCacheControl( )
Helper method to generate a valid Cache-Control header from the options set in other methods
_setContent( )
Sets the response body to an empty text if the status code is 204 or 304
_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( )
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.
_setHeader( string $header , string $value )
Sets a header.
$header $value _setStatus( integer $code , string $reasonPhrase = '' )
Modifier for response status
$code $reasonPhrase optional '' body( string|callable|null $content = null )
Buffers the response message to be sent if $content is null the current buffer is returned
withBody()/withStringBody() and getBody() instead.$content optional null cache( string|integer|DateTimeInterface|null $since , string|integer $time = '+1 day' )
Sets the correct headers to instruct the client to cache the response.
$since $time optional '+1 day' charset( string|null $charset = null )
Sets the response charset if $charset is null the current charset is returned
$charset optional null 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.
Warning This method mutates the response in-place and should be avoided.
Cake\Http\ServerRequest $request compress( )
Sets the correct output buffering handler to send a compressed response. Responses will be compressed with zlib, if the extension is available.
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
Cake\Http\Cookie\CookieInterface $cookie 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?
$this->cookie()
$this->cookie('MyCookie')
$this->cookie((array) $options)
$options optional null Either null to get all cookies, string for a specific cookie or array to set cookie.
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
cors($request, 'https://www.cakephp.org');
cors($request, 'https://*.cakephp.org');
cors($request, 'www.cakephp.org');
cors($request, '*');
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.
Cake\Http\ServerRequest $request $allowedDomains optional [] $allowedMethods optional [] $allowedHeaders optional [] Cake\Http\CorsBuilderA builder object the provides a fluent interface for defining additional CORS headers.
disableCache( )
Sets the correct headers to instruct the client to not cache the response
download( string $filename )
Sets the correct headers to instruct the browser to download the response as a file.
$filename 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.
$hash optional null $weak optional false Whether the response is semantically the same as other with the same hash or not
expires( string|integer|DateTimeInterface|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
$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
$time optional null 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.
true sets download header and forces file to be downloaded rather than displayed in browser$path Path to file. If the path is not an absolute path that resolves to a file, APP will be prepended to the path (this behavior is deprecated).
$options optional [] Cake\Http\Exception\NotFoundExceptiongetCookie( string $name )
Read a single cookie from the response.
This method provides read access to pending cookies. It will not read the Set-Cookie header if set.
$name getCookieCollection( )
Get the CookieCollection from the response
Cake\Http\Cookie\CookieCollectiongetCookies( )
Get all cookies in the response.
Returns an associative array of cookie name => cookie data.
getFile( )
Get the current file if one exists.
Cake\Filesystem\File|nullgetMimeType( string $alias )
Returns the mime type definition for an alias
e.g getMimeType('pdf'); // returns 'application/pdf'
$alias getReasonPhrase( )
Gets the response reason phrase associated with the status code.
Because a reason phrase is not a required element in a response status line, the reason phrase value MAY be null. Implementations MAY choose to return the default RFC 7231 recommended reason phrase (or those listed in the IANA HTTP Status Code Registry) for the response's status code.
getSimpleHeaders( )
Backwards compatibility helper for getting flattened headers.
Previously CakePHP would store headers as a simple dictionary, now that we're supporting PSR7, the internal storage has each header as an array.
getStatusCode( )
Gets the response status code.
The status code is a 3-digit integer result code of the server's attempt to understand and satisfy the request.
header( string|array|null $header = null , string|array|null $value = null )
Buffers a header string to be sent Returns the complete list of buffered headers
header('Location', 'http://example.com'); header(['Location' => 'http://example.com', 'X-Extra' => 'My header']);
header('WWW-Authenticate: Negotiate'); header(['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
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: Not-Negotiate'); will have the same effect as only doing
header('WWW-Authenticate: Not-Negotiate'); withHeader(), getHeaderLine() and getHeaders() instead.$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
$value optional null httpCodes( integer|array|null $code = null )
Queries & sets valid HTTP response codes & messages.
$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 [404 => 'Not Found']
httpCodes([
381 => 'Unicorn Moved',
555 => 'Unexpected Minotaur'
]); // sets these new values, and returns true
httpCodes([
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
Associative array of the HTTP codes as keys, and the message strings as values, or null of the given $code does not exist.
length( integer|null $bytes = null )
Sets the Content-Length header for the response If called with no arguments returns the last Content-Length set
$bytes optional null location( null|string $url = null )
Accessor for the location header.
Get/Set the Location header value.
3.4.0 Mutable responses are deprecated. Use withLocation() and getHeaderLine() instead.
$url optional 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( string|array $ctype )
Maps a content-type back to an alias
e.g mapType('application/pdf'); // returns 'pdf'
$ctype maxAge( integer|null $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
$seconds optional null modified( string|integer|DateTimeInterface|null $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
$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
$time optional null mustRevalidate( boolean|null $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.
$enable optional null if null, the method will return the current must-revalidate value. If boolean sets or unsets the directive.
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
Warning This method mutates the response in-place and should be avoided.
outputCompressed( )
Returns whether the resulting output will be compressed by PHP
protocol( string|null $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
$protocol optional null resolveType( string $contentType )
Translate and validate content-types.
$contentType send( )
Sends the complete response to the client including headers and message body. Will echo out the content in the response body.
sendHeaders( )
Sends the HTTP headers and cookies.
setTypeMap( string $type , string|array $mimeType )
Sets a content type definition into the map.
E.g.: setTypeMap('xhtml', ['application/xhtml+xml', 'application/xhtml'])
This is needed for RequestHandlerComponent and recognition of types.
$type $mimeType sharable( boolean|null $public = null , integer|null $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
$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
$time optional null sharedMaxAge( integer|null $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
$seconds optional null statusCode( integer|null $code = null )
Sets the HTTP status code to be sent if $code is null the current code is returned
If the status code is 304 or 204, the existing Content-Type header will be cleared, as these response codes have no body.
getStatusCode() and withStatus() instead.$code optional null stop( integer|string $status = 0 )
Stop execution of the current script. Wraps exit() making testing easier.
$status optional 0 type( string|array|null $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
type('jpg'); If you attempt to set the type on a 304 or 204 status code response, the content type will not take effect as these status codes do not have content-types.
type();
type(['keynote' => 'application/keynote', 'bat' => 'application/bat']);
type(['jpg' => 'text/plain']);
$contentType optional null validateFile( string $path )
Validate a file path is a valid response body.
$path Cake\Filesystem\FileCake\Http\Exception\NotFoundExceptionvary( string|array|null $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
$cacheVariances optional null A single Vary string or an array containing the list for variances.
withAddedLink( string $url , array $options = [] )
Create a new response with the Link header set.
$response = $response->withAddedLink('http://example.com?page=1', ['rel' => 'prev'])
->withAddedLink('http://example.com?page=3', ['rel' => 'next']); Will generate:
Link: <http://example.com?page=1>; rel="prev" Link: <http://example.com?page=3>; rel="next"
$url $options optional [] Cake\Http\ResponsewithCache( string|integer|DateTimeInterface|null $since , string|integer $time = '+1 day' )
Create a new instance with the headers to enable client caching.
$since $time optional '+1 day' Cake\Http\ResponsewithCharset( string $charset )
Get a new instance with an updated charset.
$charset Cake\Http\ResponsewithCookie( string|Cake\Http\Cookie\Cookie $name , array|string $data = '' )
Create a new response with a cookie set.
value: Value of the cookieexpire: Time the cookie expires inpath: Path the cookie applies todomain: Domain the cookie is for.secure: Is the cookie https?httpOnly: Is the cookie available in the client?// set scalar value with defaults
$response = $response->withCookie('remember_me', 1);
// customize cookie attributes
$response = $response->withCookie('remember_me', ['path' => '/login']);
// add a cookie object
$response = $response->withCookie(new Cookie('remember_me', 1)); Cake\Http\Cookie\Cookie $name $data optional '' Cake\Http\ResponsewithCookieCollection( Cake\Http\Cookie\CookieCollection $cookieCollection )
Get a new instance with provided cookie collection.
Cake\Http\Cookie\CookieCollection $cookieCollection Cake\Http\ResponsewithDisabledCache( )
Create a new instance with headers to instruct the client to not cache the response
Cake\Http\ResponsewithDownload( string $filename )
Create a new instance with the Content-Disposition header set.
$filename Cake\Http\ResponsewithEtag( string $hash , boolean $weak = false )
Create a new instance with the Etag header set.
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 that makes the response unique.
The second parameter is used to inform clients that the content has changed, but semantically it is equivalent to existing cached values. Consider a page with a hit counter, two different page views are equivalent, but they differ by a few bytes. This permits the Client to decide whether they should use the cached data.
$hash $weak optional false Whether the response is semantically the same as other with the same hash or not. Defaults to false
Cake\Http\ResponsewithExpiredCookie( string|Cake\Http\Cookie\CookieInterface $name , array $options = [] )
Create a new response with an expired cookie set.
path: Path the cookie applies todomain: Domain the cookie is for.secure: Is the cookie https?httpOnly: Is the cookie available in the client?// set scalar value with defaults
$response = $response->withExpiredCookie('remember_me');
// customize cookie attributes
$response = $response->withExpiredCookie('remember_me', ['path' => '/login']);
// add a cookie object
$response = $response->withExpiredCookie(new Cookie('remember_me')); Cake\Http\Cookie\CookieInterface $name $options optional [] Cake\Http\ResponsewithExpires( string|integer|DateTimeInterface|null $time )
Create a new instance with the Expires header set.
// Will Expire the response cache now
$response->withExpires('now')
// Will set the expiration in next 24 hours
$response->withExpires(new DateTime('+1 day')) $time Cake\Http\ResponsewithFile( string $path , array $options = [] )
Create a new instance that is based on a file.
This method will augment both the body and a number of related headers.
If $_SERVER['HTTP_RANGE'] is set, a slice of the file will be returned instead of the entire file.
true sets download header and forces file to be downloaded rather than displayed inline.$path Path to file. If the path is not an absolute path that resolves to a file, APP will be prepended to the path (this behavior is deprecated).
$options optional [] Cake\Http\ResponseCake\Http\Exception\NotFoundExceptionwithLength( integer|string $bytes )
Create a new response with the Content-Length header set.
$bytes Cake\Http\ResponsewithLocation( string $url )
Return an instance with an updated location header.
If the current status code is 200, it will be replaced with 302.
$url Cake\Http\ResponsewithMaxAge( integer $seconds )
Create an instance with Cache-Control max-age directive set.
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.
$seconds Cake\Http\ResponsewithModified( string|integer|DateTimeInterface|null $time )
Create a new instance with the Last-Modified header set.
// Will Expire the response cache now
$response->withModified('now')
// Will set the expiration in next 24 hours
$response->withModified(new DateTime('+1 day')) $time Cake\Http\ResponsewithMustRevalidate( boolean $enable )
Create an instance with Cache-Control must-revalidate directive set.
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.
$enable Cake\Http\ResponsewithNotModified( )
Create a new instance as 'not modified'
This will remove any body contents set the status code to "304" and removing headers that describe a response body.
Cake\Http\ResponsewithSharable( boolean $public , integer|null $time = null )
Create a new instace with the public/private Cache-Control directive set.
$public If set to true, the Cache-Control header will be set as public if set to false, the response will be set to private.
$time optional null Cake\Http\ResponsewithSharedMaxAge( integer $seconds )
Create a new instance with 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).
$seconds Cake\Http\ResponsewithStatus( integer $code , string $reasonPhrase = '' )
Return an instance with the specified status code and, optionally, reason phrase.
If no reason phrase is specified, implementations MAY choose to default to the RFC 7231 or IANA recommended reason phrase for the response's status code.
This method MUST be implemented in such a way as to retain the immutability of the message, and MUST return an instance that has the updated status and reason phrase.
If the status code is 304 or 204, the existing Content-Type header will be cleared, as these response codes have no body.
$code $reasonPhrase optional '' The reason phrase to use with the provided status code; if none is provided, implementations MAY use the defaults as suggested in the HTTP specification.
Cake\Http\ResponsewithStringBody( string $string )
Convenience method to set a string into the response body
$string Cake\Http\ResponsewithType( string $contentType )
Get an updated response with the content type set.
If you attempt to set the type on a 304 or 204 status code response, the content type will not take effect as these status codes do not have content-types.
$contentType Cake\Http\ResponsewithVary( string|array $cacheVariances )
Create a new instance with the Vary header set.
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
$cacheVariances A single Vary string or an array containing the list for variances.
Cake\Http\Responseprotected array
Holds all the cache directives that will be converted into headers when sending the request
[]
protected string
Content type to send. This can be an 'extension' that will be transformed using the $_mimetypes array or a complete mime-type
'text/html'
protected Cake\Http\Cookie\CookieCollection
Collection of cookies to send to the client
null
protected array
Holds type key to mime type mappings for known mime types.
[
'html' => ['text/html', '*/*'],
'json' => 'application/json',
'xml' => ['application/xml', 'text/xml'],
'xhtml' => ['application/xhtml+xml', 'application/xhtml', 'text/xhtml'],
'webp' => 'image/webp',
'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' => ['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' => ['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' => ['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-mobile' => 'application/vnd.wap.xhtml+xml',
'atom' => 'application/atom+xml',
'amf' => 'application/x-amf',
'wap' => ['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',
'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',
'bmp' => 'image/bmp'
] protected array
Holds HTTP response statuses
[
100 => 'Continue',
101 => 'Switching Protocols',
102 => 'Processing',
200 => 'OK',
201 => 'Created',
202 => 'Accepted',
203 => 'Non-Authoritative Information',
204 => 'No Content',
205 => 'Reset Content',
206 => 'Partial Content',
207 => 'Multi-status',
208 => 'Already Reported',
226 => 'IM used',
300 => 'Multiple Choices',
301 => 'Moved Permanently',
302 => 'Found',
303 => 'See Other',
304 => 'Not Modified',
305 => 'Use Proxy',
306 => '(Unused)',
307 => 'Temporary Redirect',
308 => 'Permanent 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 Timeout',
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',
418 => 'I\'m a teapot',
421 => 'Misdirected Request',
422 => 'Unprocessable Entity',
423 => 'Locked',
424 => 'Failed Dependency',
425 => 'Unordered Collection',
426 => 'Upgrade Required',
428 => 'Precondition Required',
429 => 'Too Many Requests',
431 => 'Request Header Fields Too Large',
444 => 'Connection Closed Without Response',
451 => 'Unavailable For Legal Reasons',
499 => 'Client Closed Request',
500 => 'Internal Server Error',
501 => 'Not Implemented',
502 => 'Bad Gateway',
503 => 'Service Unavailable',
504 => 'Gateway Timeout',
505 => 'Unsupported Version',
506 => 'Variant Also Negotiates',
507 => 'Insufficient Storage',
508 => 'Loop Detected',
510 => 'Not Extended',
511 => 'Network Authentication Required',
599 => 'Network Connect Timeout Error',
]
© 2005–present 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/3.8/class-Cake.Http.Response.html