CakePHP
  • Documentation
    • Book
    • API
    • Videos
    • Logos & Trademarks
  • Business Solutions
  • Swag
  • Road Trip
  • Team
  • Community
    • Community
    • Team
    • Issues (Github)
    • YouTube Channel
    • Get Involved
    • Bakery
    • Featured Resources
    • Newsletter
    • Certification
    • My CakePHP
    • CakeFest
    • Facebook
    • Twitter
    • Help & Support
    • Forum
    • Stack Overflow
    • IRC
    • Slack
    • Paid Support
CakePHP

C CakePHP 3.8 Red Velvet API

  • Overview
  • Tree
  • Deprecated
  • Version:
    • 3.8
      • 3.8
      • 3.7
      • 3.6
      • 3.5
      • 3.4
      • 3.3
      • 3.2
      • 3.1
      • 3.0
      • 2.10
      • 2.9
      • 2.8
      • 2.7
      • 2.6
      • 2.5
      • 2.4
      • 2.3
      • 2.2
      • 2.1
      • 2.0
      • 1.3
      • 1.2

Namespaces

  • Cake
    • Auth
      • Storage
    • Cache
      • Engine
    • Collection
      • Iterator
    • Command
    • Console
      • Exception
    • Controller
      • Component
      • Exception
    • Core
      • Configure
        • Engine
      • Exception
      • Retry
    • Database
      • Driver
      • Exception
      • Expression
      • Schema
      • Statement
      • Type
    • Datasource
      • Exception
    • Error
      • Middleware
    • Event
      • Decorator
    • Filesystem
    • Form
    • Http
      • Client
        • Adapter
        • Auth
      • Cookie
      • Exception
      • Middleware
      • Session
    • I18n
      • Formatter
      • Middleware
      • Parser
    • Log
      • Engine
    • Mailer
      • Exception
      • Transport
    • Network
      • Exception
    • ORM
      • Association
      • Behavior
        • Translate
      • Exception
      • Locator
      • Rule
    • Routing
      • Exception
      • Filter
      • Middleware
      • Route
    • Shell
      • Helper
      • Task
    • TestSuite
      • Fixture
      • Stub
    • Utility
      • Exception
    • Validation
    • View
      • Exception
      • Form
      • Helper
      • Widget
  • None

Classes

  • ActionDispatcher
  • BaseApplication
  • Client
  • ControllerFactory
  • CorsBuilder
  • MiddlewareQueue
  • Response
  • ResponseEmitter
  • Runner
  • Server
  • ServerRequest
  • ServerRequestFactory
  • Session

Class Response

Responses contain the response text, status and headers of a HTTP response.

There are external packages such as fig/http-message-util that provide HTTP status code constants. These can be used with any method that accepts or returns a status code integer. Keep in mind that these consants might include status codes that are now allowed which will throw an \InvalidArgumentException.

Cake\Http\Response implements Psr\Http\Message\ResponseInterface uses Zend\Diactoros\MessageTrait
Direct Subclasses
  • Cake\TestSuite\Stub\Response
Namespace: Cake\Http
Location: Http/Response.php

Properties summary

  • $_cacheDirectives protected
    array

    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
    string

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

  • $_cookies protected
    Cake\Http\Cookie\CookieCollection
    Collection of cookies to send to the client
  • $_file protected
    Cake\Filesystem\File|null
    File object for file to be read out as response
  • $_fileRange protected
    array
    File range. Used for requesting ranges of files.
  • $_mimeTypes protected
    array
    Holds type key to mime type mappings for known mime types.
  • $_protocol protected
    string
    Protocol header to send to the client
  • $_reasonPhrase protected
    string
    Reason Phrase
  • $_status protected
    integer
    Status code to send to the client
  • $_statusCodes protected
    string[]
    Allowed HTTP status codes and their default description.
  • $_streamMode protected
    string
    Stream mode options.
  • $_streamTarget protected
    string|resource
    Stream target or resource object.

Method Summary

  • __construct() public
    Constructor
  • __debugInfo() public

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

  • __toString() public

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

  • _clearBuffer() protected deprecated
    Clears the contents of the topmost output buffer and discards them
  • _clearHeader() protected
    Clear header
  • _createStream() protected
    Creates the stream object.
  • _fileRange() protected deprecated
    Apply a file range to a file and set the end offset.
  • _flushBuffer() protected deprecated
    Flushes the contents of the output buffer
  • _getUTCDate() protected

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

  • _handleCallableBody() protected
    Handles the callable body for backward compatibility reasons.
  • _isActive() protected deprecated
    Returns true if connection is still active
  • _sendContent() protected deprecated
    Sends a content string to the client.
  • _sendFile() protected deprecated
    Reads out a file, and echos the content to the client.
  • _sendHeader() protected deprecated
    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 deprecated
    Sets the response body to an empty text if the status code is 204 or 304
  • _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 deprecated

    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() protected
    Sets a header.
  • _setStatus() protected
    Modifier for response status
  • body() public deprecated

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

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

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

  • checkNotModified() public

    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.

  • convertCookieToArray() protected
    Convert the cookie into an array of its properties.
  • cookie() public deprecated
    Getter/Setter for cookie configs
  • cors() public
    Setup access for origin and methods on cross origin requests
  • disableCache() public deprecated
    Sets the correct headers to instruct the client to not cache the response
  • download() public deprecated
    Sets the correct headers to instruct the browser to download the response as a file.
  • etag() public deprecated

    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 deprecated

    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 deprecated
    Setup for display or download the given file.
  • getCharset() public
    Returns the current charset.
  • getCookie() public
    Read a single cookie from the response.
  • getCookieCollection() public
    Get the CookieCollection from the response
  • getCookies() public
    Get all cookies in the response.
  • getFile() public
    Get the current file if one exists.
  • getMimeType() public
    Returns the mime type definition for an alias
  • getReasonPhrase() public
    Gets the response reason phrase associated with the status code.
  • getSimpleHeaders() protected
    Backwards compatibility helper for getting flattened headers.
  • getStatusCode() public
    Gets the response status code.
  • getType() public
    Returns the current content type.
  • header() public deprecated

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

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

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

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

    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 deprecated

    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

  • mustRevalidate() public deprecated

    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

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

    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

  • resolveType() protected
    Translate and validate content-types.
  • send() public deprecated

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

  • sendHeaders() public deprecated
    Sends the HTTP headers and cookies.
  • setTypeMap() public
    Sets a content type definition into the map.
  • 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

  • sharedMaxAge() public deprecated
    Sets the Cache-Control s-maxage directive.
  • statusCode() public deprecated

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

  • stop() public deprecated

    Stop execution of the current script. Wraps exit() making testing easier.

  • type() public deprecated

    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

  • validateFile() protected
    Validate a file path is a valid response body.
  • vary() public deprecated

    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

  • withAddedLink() public
    Create a new response with the Link header set.
  • withCache() public
    Create a new instance with the headers to enable client caching.
  • withCharset() public
    Get a new instance with an updated charset.
  • withCookie() public
    Create a new response with a cookie set.
  • withCookieCollection() public
    Get a new instance with provided cookie collection.
  • withDisabledCache() public
    Create a new instance with headers to instruct the client to not cache the response
  • withDownload() public
    Create a new instance with the Content-Disposition header set.
  • withEtag() public
    Create a new instance with the Etag header set.
  • withExpiredCookie() public
    Create a new response with an expired cookie set.
  • withExpires() public
    Create a new instance with the Expires header set.
  • withFile() public
    Create a new instance that is based on a file.
  • withLength() public
    Create a new response with the Content-Length header set.
  • withLocation() public
    Return an instance with an updated location header.
  • withMaxAge() public
    Create an instance with Cache-Control max-age directive set.
  • withModified() public
    Create a new instance with the Last-Modified header set.
  • withMustRevalidate() public
    Create an instance with Cache-Control must-revalidate directive set.
  • withNotModified() public
    Create a new instance as 'not modified'
  • withSharable() public
    Create a new instace with the public/private Cache-Control directive set.
  • withSharedMaxAge() public
    Create a new instance with the Cache-Control s-maxage directive.
  • withStatus() public
    Return an instance with the specified status code and, optionally, reason phrase.
  • withStringBody() public
    Convenience method to set a string into the response body
  • withType() public
    Get an updated response with the content type set.
  • withVary() public
    Create a new instance with the Vary header set.

Method Detail

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

Throws
InvalidArgumentException

__debugInfo() public ¶

__debugInfo( )

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

Returns
array

__toString() 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() protected deprecated ¶

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

_clearHeader( string $header )

Clear header

Parameters
string $header
Header key.

_createStream() protected ¶

_createStream( )

Creates the stream object.

_fileRange() protected deprecated ¶

_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() protected deprecated ¶

_flushBuffer( )

Flushes the contents of the output buffer

Deprecated
3.2.4 This function is not needed anymore

_getUTCDate() protected ¶

_getUTCDate( string|integer|DateTimeInterface|null $time = null )

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

Parameters
string|integer|DateTimeInterface|null $time optional null
Valid time string or \DateTimeInterface instance.
Returns
DateTimeInterface

_handleCallableBody() protected ¶

_handleCallableBody( callable $content )

Handles the callable body for backward compatibility reasons.

Parameters
callable $content
Callable content.
Returns
string

_isActive() protected deprecated ¶

_isActive( )

Returns true if connection is still active

Deprecated
3.4.0 Will be removed in 4.0.0
Returns
boolean

_sendContent() protected deprecated ¶

_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() protected deprecated ¶

_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() protected deprecated ¶

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

_setCacheControl( )

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

_setContent() protected deprecated ¶

_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() 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() protected deprecated ¶

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

_setHeader( string $header , string $value )

Sets a header.

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

_setStatus() protected ¶

_setStatus( integer $code , string $reasonPhrase = '' )

Modifier for response status

Parameters
integer $code
The status code to set.
string $reasonPhrase optional ''
The response reason phrase.
Throws
InvalidArgumentException
For invalid status code arguments.

body() public deprecated ¶

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() public deprecated ¶

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

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

Deprecated
3.4.0 Use withCache() instead.
Parameters
string|integer|DateTimeInterface|null $since
a valid time since the response text has not been modified
string|integer $time optional '+1 day'
a valid time for cache expiry
Throws
InvalidArgumentException

charset() public deprecated ¶

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

Warning This method mutates the response in-place and should be avoided.

Parameters
Cake\Http\ServerRequest $request
Request object
Returns
boolean
Whether the response was marked as not modified or not.

compress() 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() 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() public deprecated ¶

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() public ¶

cors( Cake\Http\ServerRequest $request , string|string[] $allowedDomains = [] , string|string[] $allowedMethods = [] , string|string[] $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|string[] $allowedDomains optional []
List of allowed domains, see method description for more details
string|string[] $allowedMethods optional []
List of HTTP verbs allowed
string|string[] $allowedHeaders optional []
List of HTTP headers allowed
Returns
Cake\Http\CorsBuilder

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


disableCache() public deprecated ¶

disableCache( )

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

Deprecated
3.4.0 Use withDisabledCache() instead.

download() public deprecated ¶

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() public deprecated ¶

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() public deprecated ¶

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

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|integer|DateTimeInterface|null $time optional null
Valid time string or \DateTime instance.
Returns
string|null

file() public deprecated ¶

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 sets download header and forces file to be downloaded rather than displayed in browser
Deprecated
3.4.0 Use withFile() instead.
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 (this behavior is deprecated).

array $options optional []
Options See above.
Throws
Cake\Http\Exception\NotFoundException

getCharset() public ¶

getCharset( )

Returns the current charset.

Returns
string

getCookie() public ¶

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

Parameters
string $name
The cookie name you want to read.
Returns
array|null
Either the cookie data or null

getCookieCollection() public ¶

getCookieCollection( )

Get the CookieCollection from the response

Returns
Cake\Http\Cookie\CookieCollection

getCookies() public ¶

getCookies( )

Get all cookies in the response.

Returns an associative array of cookie name => cookie data.

Returns
array

getFile() public ¶

getFile( )

Get the current file if one exists.

Returns
Cake\Filesystem\File|null
The file to use in the response or null

getMimeType() 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
string|array|false
String mapped mime type or false if $alias is not mapped

getReasonPhrase() public ¶

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.

Returns
string
Reason phrase; must return an empty string if none present.
Link
https://tools.ietf.org/html/rfc7231#section-6
http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml

getSimpleHeaders() protected ¶

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.

Returns
array

getStatusCode() public ¶

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.

Returns
integer
Status code.

getType() public ¶

getType( )

Returns the current content type.

Returns
string

header() public deprecated ¶

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

Single header

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

Multiple headers

header(['Location' => 'http://example.com', 'X-Extra' => 'My header']);

String header

header('WWW-Authenticate: Negotiate');

Array of string headers

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');
Deprecated
3.4.0 Use withHeader(), getHeaderLine() and getHeaders() instead.
Parameters
string|array|null $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|null $value optional null
The header value(s)
Returns
array
List of headers to be sent

httpCodes() public deprecated ¶

httpCodes( integer|array|null $code = null )

Queries & sets valid HTTP response codes & messages.

Deprecated
3.4.0 Will be removed in 4.0.0
Parameters
integer|array|null $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
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
InvalidArgumentException
If an attempt is made to add an invalid status code

length() public deprecated ¶

length( integer|null $bytes = null )

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

Deprecated
3.4.0 Use withLength() to set length instead.
Parameters
integer|null $bytes optional null
Number of bytes
Returns
string|null

location() public deprecated ¶

location( string|null $url = null )

Accessor for the location header.

Get/Set the Location header value.

Deprecated

3.4.0 Mutable responses are deprecated. Use withLocation() and getHeaderLine() instead.


Parameters
string|null $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() 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
string|array|null
Aliases for the types provided.

maxAge() public deprecated ¶

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

Deprecated
3.6.5 Use withMaxAge() instead.
Parameters
integer|null $seconds optional null
if null, the method will return the current max-age value
Returns
integer|null

modified() public deprecated ¶

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

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

Deprecated
3.4.0 Use withModified() instead.
Parameters
string|integer|DateTimeInterface|null $time optional null
Valid time string or \DateTime instance.
Returns
string|null

mustRevalidate() public deprecated ¶

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.

Deprecated
3.4.0 Use withMustRevalidate() instead.
Parameters
boolean|null $enable optional null

if null, the method will return the current must-revalidate value. If boolean sets or unsets the directive.

Returns
boolean

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

Warning This method mutates the response in-place and should be avoided.

outputCompressed() public ¶

outputCompressed( )

Returns whether the resulting output will be compressed by PHP

Returns
boolean

protocol() public deprecated ¶

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

Deprecated
3.4.0 Use getProtocolVersion() instead.
Parameters
string|null $protocol optional null
Protocol to be used for sending response.
Returns
string
Protocol currently set

resolveType() protected ¶

resolveType( string $contentType )

Translate and validate content-types.

Parameters
string $contentType
The content-type or type alias.
Returns
string
The resolved content-type
Throws
InvalidArgumentException
When an invalid content-type or alias is used.

send() public deprecated ¶

send( )

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

Deprecated
3.4.0 Will be removed in 4.0.0

sendHeaders() public deprecated ¶

sendHeaders( )

Sends the HTTP headers and cookies.

Deprecated
3.4.0 Will be removed in 4.0.0

setTypeMap() public ¶

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.

Parameters
string $type
Content type.
string|array $mimeType
Definition of the mime type.

sharable() public ¶

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

Parameters
boolean|null $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|null $time optional null
time in seconds after which the response should no longer be considered fresh
Returns
boolean|null

sharedMaxAge() public deprecated ¶

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

Deprecated
3.6.5 Use withSharedMaxAge() instead.
Parameters
integer|null $seconds optional null
if null, the method will return the current s-maxage value
Returns
integer|null

statusCode() public deprecated ¶

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.

Deprecated
3.4.0 Use getStatusCode() and withStatus() instead.
Parameters
integer|null $code optional null
the HTTP status code
Returns
integer
Current status code
Throws
InvalidArgumentException
When an unknown status code is reached.

stop() public deprecated ¶

stop( integer|string $status = 0 )

Stop execution of the current script. Wraps exit() making testing easier.

Deprecated
3.4.0 Will be removed in 4.0.0
Parameters
integer|string $status optional 0
See https://secure.php.net/exit for values

type() public deprecated ¶

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

Setting the content type

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.

Returning the current content type

type();

Storing content type definitions

type(['keynote' => 'application/keynote', 'bat' => 'application/bat']);

Replacing a content type definition

type(['jpg' => 'text/plain']);
Deprecated
3.5.5 Use getType() or withType() instead.
Parameters
string|array|null $contentType optional null
Content type key.
Returns
mixed
Current content type or false if supplied an invalid content type.

validateFile() protected ¶

validateFile( string $path )

Validate a file path is a valid response body.

Parameters
string $path
The path to the file.
Returns
Cake\Filesystem\File
Throws
Cake\Http\Exception\NotFoundException

vary() public deprecated ¶

vary( 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

Deprecated
3.4.0 Use withVary() instead.
Parameters
string|array|null $cacheVariances optional null

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

Returns
array|null

withAddedLink() public ¶

withAddedLink( string $url , array $options = [] )

Create a new response with the Link header set.

Examples

$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"
Parameters
string $url
The LinkHeader url.
array $options optional []
The LinkHeader params.
Returns
Cake\Http\Response
Since
3.6.0

withCache() public ¶

withCache( string|integer|DateTimeInterface|null $since , string|integer $time = '+1 day' )

Create a new instance with the headers to enable client caching.

Parameters
string|integer|DateTimeInterface|null $since
A valid time since the response text has not been modified
string|integer $time optional '+1 day'
A valid time for cache expiry
Returns
Cake\Http\Response
Throws
InvalidArgumentException

withCharset() public ¶

withCharset( string $charset )

Get a new instance with an updated charset.

Parameters
string $charset
Character set string.
Returns
Cake\Http\Response

withCookie() public ¶

withCookie( string|Cake\Http\Cookie\Cookie $name , array|string $data = '' )

Create a new response with a cookie set.

Data

  • 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

// 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));
Parameters
string|Cake\Http\Cookie\Cookie $name
The name of the cookie to set, or a cookie object
array|string $data optional ''
Either a string value, or an array of cookie options.
Returns
Cake\Http\Response

withCookieCollection() public ¶

withCookieCollection( Cake\Http\Cookie\CookieCollection $cookieCollection )

Get a new instance with provided cookie collection.

Parameters
Cake\Http\Cookie\CookieCollection $cookieCollection
Cookie collection to set.
Returns
Cake\Http\Response

withDisabledCache() public ¶

withDisabledCache( )

Create a new instance with headers to instruct the client to not cache the response

Returns
Cake\Http\Response

withDownload() public ¶

withDownload( string $filename )

Create a new instance with the Content-Disposition header set.

Parameters
string $filename
The name of the file as the browser will download the response
Returns
Cake\Http\Response

withEtag() public ¶

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

Parameters
string $hash
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. Defaults to false

Returns
Cake\Http\Response

withExpiredCookie() public ¶

withExpiredCookie( string|Cake\Http\Cookie\CookieInterface $name , array $options = [] )

Create a new response with an expired cookie set.

Options

  • 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

// 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'));
Parameters
string|Cake\Http\Cookie\CookieInterface $name
The name of the cookie to expire, or a cookie object
array $options optional []
An array of cookie options.
Returns
Cake\Http\Response

withExpires() public ¶

withExpires( string|integer|DateTimeInterface|null $time )

Create a new instance with the Expires header set.

Examples:

// Will Expire the response cache now
$response->withExpires('now')

// Will set the expiration in next 24 hours
$response->withExpires(new DateTime('+1 day'))
Parameters
string|integer|DateTimeInterface|null $time
Valid time string or \DateTime instance.
Returns
Cake\Http\Response

withFile() public ¶

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

Options keys

  • name: Alternate download name
  • download: If true sets download header and forces file to be downloaded rather than displayed inline.
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 (this behavior is deprecated).

array $options optional []
Options See above.
Returns
Cake\Http\Response
Throws
Cake\Http\Exception\NotFoundException

withLength() public ¶

withLength( integer|string $bytes )

Create a new response with the Content-Length header set.

Parameters
integer|string $bytes
Number of bytes
Returns
Cake\Http\Response

withLocation() public ¶

withLocation( string $url )

Return an instance with an updated location header.

If the current status code is 200, it will be replaced with 302.

Parameters
string $url
The location to redirect to.
Returns
Cake\Http\Response
A new response with the Location header set.

withMaxAge() public ¶

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

Parameters
integer $seconds
The seconds a cached response can be considered valid
Returns
Cake\Http\Response

withModified() public ¶

withModified( string|integer|DateTimeInterface|null $time )

Create a new instance with the Last-Modified header set.

Examples:

// Will Expire the response cache now
$response->withModified('now')

// Will set the expiration in next 24 hours
$response->withModified(new DateTime('+1 day'))
Parameters
string|integer|DateTimeInterface|null $time
Valid time string or \DateTimeInterface instance.
Returns
Cake\Http\Response

withMustRevalidate() public ¶

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

Parameters
boolean $enable
If boolean sets or unsets the directive.
Returns
Cake\Http\Response

withNotModified() public ¶

withNotModified( )

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.

Returns
Cake\Http\Response

withSharable() public ¶

withSharable( boolean $public , integer|null $time = null )

Create a new instace with the public/private Cache-Control directive set.

Parameters
boolean $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.

integer|null $time optional null
time in seconds after which the response should no longer be considered fresh.
Returns
Cake\Http\Response

withSharedMaxAge() public ¶

withSharedMaxAge( 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).

Parameters
integer $seconds
The number of seconds for shared max-age
Returns
Cake\Http\Response

withStatus() public ¶

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

There are external packages such as fig/http-message-util that provide HTTP status code constants. These can be used with any method that accepts or returns a status code integer. However, keep in mind that these consants might include status codes that are now allowed which will throw an \InvalidArgumentException.

Parameters
integer $code
The 3-digit integer status code to set.
string $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.

Returns
Cake\Http\Response
Throws
InvalidArgumentException
For invalid status code arguments.
Link
https://tools.ietf.org/html/rfc7231#section-6
https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml

withStringBody() public ¶

withStringBody( string $string )

Convenience method to set a string into the response body

Parameters
string $string
The string to be sent
Returns
Cake\Http\Response

withType() public ¶

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

Parameters
string $contentType
Either a file extension which will be mapped to a mime-type or a concrete mime-type.
Returns
Cake\Http\Response

withVary() public ¶

withVary( 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

Parameters
string|array $cacheVariances

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

Returns
Cake\Http\Response

Properties detail

$_cacheDirectives ¶

protected array

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

'UTF-8'

$_contentType ¶

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'

$_cookies ¶

protected Cake\Http\Cookie\CookieCollection

Collection of cookies to send to the client

null

$_file ¶

protected Cake\Filesystem\File|null

File object for file to be read out as response

$_fileRange ¶

protected array

File range. Used for requesting ranges of files.

[]

$_mimeTypes ¶

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'
]

$_protocol ¶

protected string

Protocol header to send to the client

'HTTP/1.1'

$_reasonPhrase ¶

protected string

Reason Phrase

'OK'

$_status ¶

protected integer

Status code to send to the client

200

$_statusCodes ¶

protected string[]

Allowed HTTP status codes and their default description.

[
    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',
]

$_streamMode ¶

protected string

Stream mode options.

'wb+'

$_streamTarget ¶

protected string|resource

Stream target or resource object.

'php://memory'
Follow @CakePHP
#IRC
OpenHub
Rackspace
  • Business Solutions
  • Showcase
  • Documentation
  • Book
  • API
  • Videos
  • Logos & Trademarks
  • Community
  • Team
  • Issues (Github)
  • YouTube Channel
  • Get Involved
  • Bakery
  • Featured Resources
  • Newsletter
  • Certification
  • My CakePHP
  • CakeFest
  • Facebook
  • Twitter
  • Help & Support
  • Forum
  • Stack Overflow
  • IRC
  • Slack
  • Paid Support

Generated using CakePHP API Docs