MediaWiki REL1_37
WebResponse Class Reference

Allow programs to request this object from WebRequest::response() and handle all outputting (or lack of outputting) via it. More...

Inheritance diagram for WebResponse:

Public Member Functions

 clearCookie ( $name, $options=[])
 Unset a browser cookie.
 
 getHeader ( $key)
 Get a response header.
 
 hasCookies ()
 Checks whether this request is performing cookie operations.
 
 header ( $string, $replace=true, $http_response_code=null)
 Output an HTTP header, wrapper for PHP's header()
 
 headersSent ()
 Test if headers have been sent.
 
 setCookie ( $name, $value, $expire=0, $options=[])
 Set the browser cookie.
 
 statusHeader ( $code)
 Output an HTTP status code header.
 

Static Public Member Functions

static disableForPostSend ()
 Disable setters for post-send processing.
 

Static Protected Attributes

static bool $disableForPostSend = false
 Used to disable setters before running jobs post-request (T191537)
 
static array $setCookies = []
 Used to record set cookies, because PHP's setcookie() will happily send an identical Set-Cookie to the client.
 

Detailed Description

Allow programs to request this object from WebRequest::response() and handle all outputting (or lack of outputting) via it.

Definition at line 30 of file WebResponse.php.

Member Function Documentation

◆ clearCookie()

WebResponse::clearCookie (   $name,
  $options = [] 
)

Unset a browser cookie.

This sets the cookie with an empty value and an expiry set to a time in the past, which will cause the browser to remove any cookie with the given name, domain and path from its cookie store. Options other than these (and prefix) have no effect.

Parameters
string$nameCookie name
array$optionsCookie options, see setCookie()
Since
1.27

Definition at line 255 of file WebResponse.php.

References setCookie().

Referenced by MediaWiki\Block\BlockManager\clearBlockCookie().

◆ disableForPostSend()

static WebResponse::disableForPostSend ( )
static

Disable setters for post-send processing.

After this call, self::setCookie(), self::header(), and self::statusHeader() will log a warning and return without setting cookies or headers.

Since
1.32

Definition at line 49 of file WebResponse.php.

◆ getHeader()

WebResponse::getHeader (   $key)

Get a response header.

Parameters
string$keyThe name of the header to get (case insensitive).
Returns
string|null The header value (if set); null otherwise.
Since
1.25

Reimplemented in FauxResponse.

Definition at line 84 of file WebResponse.php.

References $header.

◆ hasCookies()

WebResponse::hasCookies ( )

Checks whether this request is performing cookie operations.

Returns
bool
Since
1.27

Reimplemented in FauxResponse.

Definition at line 265 of file WebResponse.php.

◆ header()

WebResponse::header (   $string,
  $replace = true,
  $http_response_code = null 
)

Output an HTTP header, wrapper for PHP's header()

Parameters
string$stringHeader to output
bool$replaceReplace current similar header
null | int$http_response_codeForces the HTTP response code to the specified value.

Reimplemented in FauxResponse.

Definition at line 59 of file WebResponse.php.

References header(), and wfDebugLog().

Referenced by header().

◆ headersSent()

WebResponse::headersSent ( )

Test if headers have been sent.

Since
1.27
Returns
bool

Reimplemented in FauxResponse.

Definition at line 116 of file WebResponse.php.

Referenced by MediaWiki\Block\BlockManager\trackBlockWithCookie().

◆ setCookie()

WebResponse::setCookie (   $name,
  $value,
  $expire = 0,
  $options = [] 
)

Set the browser cookie.

Parameters
string$nameThe name of the cookie.
string$valueThe value to be stored in the cookie.
int | null$expireUnix timestamp (in seconds) when the cookie should expire.
  • 0 (the default) causes it to expire $wgCookieExpiration seconds from now.
  • null causes it to be a session cookie.
array$optionsAssoc of additional cookie options:
  • prefix: string, name prefix ($wgCookiePrefix)
  • domain: string, cookie domain ($wgCookieDomain)
  • path: string, cookie path ($wgCookiePath)
  • secure: bool, secure attribute ($wgCookieSecure)
  • httpOnly: bool, httpOnly attribute ($wgCookieHttpOnly)
  • raw: bool, true to suppress encoding of the value
  • sameSite: string|null, SameSite attribute. May be "strict", "lax", "none", or null or "" for no attribute. (default absent)
  • sameSiteLegacy: bool|null, If true, SameSite=None cookies will be also be sent as a legacy cookie with an ss0 prefix
Since
1.22 Replaced $prefix, $domain, and $forceSecure with $options

Reimplemented in FauxResponse.

Definition at line 141 of file WebResponse.php.

References $wgCookieDomain, $wgCookieExpiration, $wgCookieHttpOnly, $wgCookiePath, $wgCookiePrefix, $wgCookieSecure, $wgUseSameSiteLegacyCookies, setCookie(), and wfDebugLog().

Referenced by clearCookie(), MediaWiki\Block\BlockManager\setBlockCookie(), and setCookie().

◆ statusHeader()

WebResponse::statusHeader (   $code)

Output an HTTP status code header.

Since
1.26
Parameters
int$codeStatus code

Reimplemented in FauxResponse.

Definition at line 99 of file WebResponse.php.

References wfDebugLog().

Member Data Documentation

◆ $disableForPostSend

bool WebResponse::$disableForPostSend = false
staticprotected

Used to disable setters before running jobs post-request (T191537)

Definition at line 38 of file WebResponse.php.

◆ $setCookies

array WebResponse::$setCookies = []
staticprotected

Used to record set cookies, because PHP's setcookie() will happily send an identical Set-Cookie to the client.

Definition at line 35 of file WebResponse.php.


The documentation for this class was generated from the following file: