MediaWiki REL1_35
MediaWiki\Rest\ConditionalHeaderUtil Class Reference

Public Member Functions

 applyResponseHeaders (ResponseInterface $response)
 Set Last-Modified and ETag headers in the response according to the cached values set by setValidators(), which are also used for precondition checks.
 
 checkPreconditions (RequestInterface $request)
 Check conditional request headers in the order required by RFC 7232 section 6.
 
 setValidators ( $eTag, $lastModified, $hasRepresentation)
 Initialize the object with information about the requested resource.
 

Private Member Functions

 strongCompare ( $tag1, $tag2)
 The strong comparison function.
 
 weakCompare ( $tag1, $tag2)
 The weak comparison function.
 

Private Attributes

 $eTag
 
 $hasRepresentation
 
 $lastModified
 
 $validatorsHaveBeenSet = false
 

Detailed Description

Definition at line 9 of file ConditionalHeaderUtil.php.

Member Function Documentation

◆ applyResponseHeaders()

MediaWiki\Rest\ConditionalHeaderUtil::applyResponseHeaders ( ResponseInterface  $response)

Set Last-Modified and ETag headers in the response according to the cached values set by setValidators(), which are also used for precondition checks.

If the headers are already present in the response, the existing headers take precedence.

Parameters
ResponseInterface$response

Definition at line 123 of file ConditionalHeaderUtil.php.

References MediaWiki\Rest\HeaderParser\HttpDate\format(), MediaWiki\Rest\ResponseInterface\hasHeader(), and MediaWiki\Rest\ResponseInterface\setHeader().

◆ checkPreconditions()

MediaWiki\Rest\ConditionalHeaderUtil::checkPreconditions ( RequestInterface  $request)

Check conditional request headers in the order required by RFC 7232 section 6.

Parameters
RequestInterface$request
Returns
int|null The status code to immediately return, or null to continue processing the request.

Definition at line 50 of file ConditionalHeaderUtil.php.

References MediaWiki\Rest\RequestInterface\getHeader(), MediaWiki\Rest\RequestInterface\getMethod(), MediaWiki\Rest\RequestInterface\hasHeader(), MediaWiki\Rest\HeaderParser\HttpDate\parse(), MediaWiki\Rest\HeaderParser\IfNoneMatch\parseETag(), MediaWiki\Rest\ConditionalHeaderUtil\strongCompare(), and MediaWiki\Rest\ConditionalHeaderUtil\weakCompare().

◆ setValidators()

MediaWiki\Rest\ConditionalHeaderUtil::setValidators (   $eTag,
  $lastModified,
  $hasRepresentation 
)

Initialize the object with information about the requested resource.

Parameters
string | null$eTagThe entity-tag (including quotes), or null if it is unknown.
string | int | null$lastModifiedThe Last-Modified date in a format accepted by ConvertibleTimestamp, or null if it is unknown.
bool | null$hasRepresentationWhether the server has a current representation of the target resource. This should be true if the resource exists, and false if it does not exist. It is used for wildcard validators – the intended use case is to abort a PUT if the resource does (or does not) exist. If null is passed, we assume that the resource exists if an ETag was specified for it.

Definition at line 29 of file ConditionalHeaderUtil.php.

References MediaWiki\Rest\ConditionalHeaderUtil\$eTag, MediaWiki\Rest\ConditionalHeaderUtil\$hasRepresentation, and MediaWiki\Rest\ConditionalHeaderUtil\$lastModified.

Referenced by MediaWiki\Rest\Handler\getConditionalHeaderUtil().

◆ strongCompare()

MediaWiki\Rest\ConditionalHeaderUtil::strongCompare (   $tag1,
  $tag2 
)
private

The strong comparison function.

Parameters
array | null$tag1Parsed tag info array
array | null$tag2Parsed tag info array
Returns
bool

Definition at line 150 of file ConditionalHeaderUtil.php.

Referenced by MediaWiki\Rest\ConditionalHeaderUtil\checkPreconditions().

◆ weakCompare()

MediaWiki\Rest\ConditionalHeaderUtil::weakCompare (   $tag1,
  $tag2 
)
private

The weak comparison function.

Parameters
array$tag1Parsed tag info array
array$tag2Parsed tag info array
Returns
bool

Definition at line 139 of file ConditionalHeaderUtil.php.

Referenced by MediaWiki\Rest\ConditionalHeaderUtil\checkPreconditions().

Member Data Documentation

◆ $eTag

MediaWiki\Rest\ConditionalHeaderUtil::$eTag
private

◆ $hasRepresentation

MediaWiki\Rest\ConditionalHeaderUtil::$hasRepresentation
private

◆ $lastModified

MediaWiki\Rest\ConditionalHeaderUtil::$lastModified
private

◆ $validatorsHaveBeenSet

MediaWiki\Rest\ConditionalHeaderUtil::$validatorsHaveBeenSet = false
private

Definition at line 10 of file ConditionalHeaderUtil.php.


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