‪TYPO3CMS  ‪main
TYPO3\CMS\Core\Utility\HttpUtility Class Reference

Static Public Member Functions

static buildUrl (array $urlParts)
 
static string buildQueryString (array $parameters, string $prependCharacter='', bool $skipEmptyParameters=false)
 

Public Attributes

const HTTP_STATUS_100 = 'HTTP/1.1 100 Continue'
 
const HTTP_STATUS_101 = 'HTTP/1.1 101 Switching Protocols'
 
const HTTP_STATUS_102 = 'HTTP/1.1 102 Processing'
 
const HTTP_STATUS_103 = 'HTTP/1.1 103 Early Hints'
 
const HTTP_STATUS_200 = 'HTTP/1.1 200 OK'
 
const HTTP_STATUS_201 = 'HTTP/1.1 201 Created'
 
const HTTP_STATUS_202 = 'HTTP/1.1 202 Accepted'
 
const HTTP_STATUS_203 = 'HTTP/1.1 203 Non-Authoritative Information'
 
const HTTP_STATUS_204 = 'HTTP/1.1 204 No Content'
 
const HTTP_STATUS_205 = 'HTTP/1.1 205 Reset Content'
 
const HTTP_STATUS_206 = 'HTTP/1.1 206 Partial Content'
 
const HTTP_STATUS_207 = 'HTTP/1.1 207 Multi-status'
 
const HTTP_STATUS_208 = 'HTTP/1.1 208 Already Reported'
 
const HTTP_STATUS_226 = 'HTTP/1.1 226 IM Used'
 
const HTTP_STATUS_300 = 'HTTP/1.1 300 Multiple Choices'
 
const HTTP_STATUS_301 = 'HTTP/1.1 301 Moved Permanently'
 
const HTTP_STATUS_302 = 'HTTP/1.1 302 Found'
 
const HTTP_STATUS_303 = 'HTTP/1.1 303 See Other'
 
const HTTP_STATUS_304 = 'HTTP/1.1 304 Not Modified'
 
const HTTP_STATUS_305 = 'HTTP/1.1 305 Use Proxy'
 
const HTTP_STATUS_306 = 'HTTP/1.1 306 Switch Proxy'
 
const HTTP_STATUS_307 = 'HTTP/1.1 307 Temporary Redirect'
 
const HTTP_STATUS_308 = 'HTTP/1.1 308 Permanent Redirect'
 
const HTTP_STATUS_400 = 'HTTP/1.1 400 Bad Request'
 
const HTTP_STATUS_401 = 'HTTP/1.1 401 Unauthorized'
 
const HTTP_STATUS_402 = 'HTTP/1.1 402 Payment Required'
 
const HTTP_STATUS_403 = 'HTTP/1.1 403 Forbidden'
 
const HTTP_STATUS_404 = 'HTTP/1.1 404 Not Found'
 
const HTTP_STATUS_405 = 'HTTP/1.1 405 Method Not Allowed'
 
const HTTP_STATUS_406 = 'HTTP/1.1 406 Not Acceptable'
 
const HTTP_STATUS_407 = 'HTTP/1.1 407 Proxy Authentication Required'
 
const HTTP_STATUS_408 = 'HTTP/1.1 408 Request Timeout'
 
const HTTP_STATUS_409 = 'HTTP/1.1 409 Conflict'
 
const HTTP_STATUS_410 = 'HTTP/1.1 410 Gone'
 
const HTTP_STATUS_411 = 'HTTP/1.1 411 Length Required'
 
const HTTP_STATUS_412 = 'HTTP/1.1 412 Precondition Failed'
 
const HTTP_STATUS_413 = 'HTTP/1.1 413 Request Entity Too Large'
 
const HTTP_STATUS_414 = 'HTTP/1.1 414 URI Too Long'
 
const HTTP_STATUS_415 = 'HTTP/1.1 415 Unsupported Media Type'
 
const HTTP_STATUS_416 = 'HTTP/1.1 416 Requested range not satisfiable'
 
const HTTP_STATUS_417 = 'HTTP/1.1 417 Expectation Failed'
 
const HTTP_STATUS_418 = 'HTTP/1.1 418 I\'m a teapot'
 
const HTTP_STATUS_422 = 'HTTP/1.1 422 Unprocessable Entity'
 
const HTTP_STATUS_423 = 'HTTP/1.1 423 Locked'
 
const HTTP_STATUS_424 = 'HTTP/1.1 424 Failed Dependency'
 
const HTTP_STATUS_425 = 'HTTP/1.1 425 Unordered Collection'
 
const HTTP_STATUS_426 = 'HTTP/1.1 426 Upgrade Required'
 
const HTTP_STATUS_428 = 'HTTP/1.1 428 Precondition Required'
 
const HTTP_STATUS_429 = 'HTTP/1.1 429 Too Many Requests'
 
const HTTP_STATUS_431 = 'HTTP/1.1 431 Request Header Fields Too Large'
 
const HTTP_STATUS_451 = 'HTTP/1.1 451 Unavailable For Legal Reasons'
 
const HTTP_STATUS_500 = 'HTTP/1.1 500 Internal Server Error'
 
const HTTP_STATUS_501 = 'HTTP/1.1 501 Not Implemented'
 
const HTTP_STATUS_502 = 'HTTP/1.1 502 Bad Gateway'
 
const HTTP_STATUS_503 = 'HTTP/1.1 503 Service Unavailable'
 
const HTTP_STATUS_504 = 'HTTP/1.1 504 Gateway Time-out'
 
const HTTP_STATUS_505 = 'HTTP/1.1 505 Version not Supported'
 
const HTTP_STATUS_506 = 'HTTP/1.1 506 Variant Also Negotiates'
 
const HTTP_STATUS_507 = 'HTTP/1.1 507 Insufficient Storage'
 
const HTTP_STATUS_508 = 'HTTP/1.1 508 Loop Detected'
 
const HTTP_STATUS_509 = 'HTTP/1.1 509 Bandwidth Limit Exceeded'
 
const HTTP_STATUS_511 = 'HTTP/1.1 511 Network Authentication Required'
 
const SCHEME_HTTP = 1
 
const SCHEME_HTTPS = 2
 

Detailed Description

HTTP Utility class

Definition at line 23 of file HttpUtility.php.

Member Function Documentation

◆ buildQueryString()

static string TYPO3\CMS\Core\Utility\HttpUtility::buildQueryString ( array  $parameters,
string  $prependCharacter = '',
bool  $skipEmptyParameters = false 
)
static

Implodes a multidimensional array of query parameters to a string of GET parameters (eg. param[key][key2]=value2&param[key][key3]=value3) and properly encodes parameter names as well as values. Spaces are encoded as %20

Parameters
array$parameters‪The (multidimensional) array of query parameters with values
string$prependCharacter‪If the created query string is not empty, prepend this character "?" or "&" else no prepend
bool$skipEmptyParameters‪If true, empty parameters (blank string, empty array, null) are removed.
Returns
‪string Imploded result, for example param[key][key2]=value2&param[key][key3]=value3
See also
‪explodeUrl2Array()

Definition at line 124 of file HttpUtility.php.

Referenced by TYPO3\CMS\Core\Tests\Unit\Utility\HttpUtilityTest\buildQueryStringBuildsValidParameterString(), TYPO3\CMS\Core\Tests\Unit\Utility\HttpUtilityTest\buildQueryStringCanSkipEmptyParameters(), TYPO3\CMS\Core\Tests\Unit\Utility\HttpUtilityTest\buildQueryStringCanUrlEncodeKeyNames(), TYPO3\CMS\Core\Tests\Unit\Utility\HttpUtilityTest\buildQueryStringCanUrlEncodeKeyNamesMultidimensional(), TYPO3\CMS\Core\Tests\Unit\Utility\HttpUtilityTest\buildQueryStringSkipsLeadingCharacterOnCleanedEmptyParameters(), TYPO3\CMS\Core\Tests\Unit\Utility\HttpUtilityTest\buildQueryStringSkipsLeadingCharacterOnEmptyParameters(), TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder\buildTypolinkConfiguration(), TYPO3\CMS\Backend\Controller\EditDocumentController\compileStoreData(), TYPO3\CMS\Frontend\Middleware\PrepareTypoScriptFrontendRendering\createPageCacheIdentifier(), TYPO3\CMS\Workspaces\Preview\PreviewUriBuilder\createPreviewUriForElement(), TYPO3\CMS\Redirects\Service\SlugService\createRedirects(), TYPO3\CMS\Frontend\Middleware\PageArgumentValidator\evaluateQueryParametersWithoutCacheHash(), TYPO3\CMS\Frontend\Typolink\LinkVarsCalculator\getAllowedLinkVarsFromRequest(), TYPO3\CMS\Filelist\FileList\getPaginationLinkForPage(), TYPO3\CMS\Frontend\Utility\CanonicalizationUtility\getParamsToExcludeForCanonicalizedUrl(), TYPO3\CMS\Backend\Controller\EditDocumentController\getPreviewUrlParameters(), TYPO3\CMS\Frontend\Typolink\PageLinkBuilder\getQueryArguments(), TYPO3\CMS\Redirects\Service\RedirectService\getUriFromCustomLinkDetails(), TYPO3\CMS\Frontend\Tests\Functional\SiteHandling\SiteRequestTest\getUrisWithInvalidLegacyQueryParameters(), TYPO3\CMS\Backend\Controller\EditDocumentController\init(), TYPO3\CMS\Backend\Controller\EditDocumentController\mainAction(), TYPO3\CMS\Frontend\Middleware\PageArgumentValidator\process(), TYPO3\CMS\Fluid\ViewHelpers\Uri\ActionViewHelper\renderFrontendLinkWithCoreContext(), TYPO3\CMS\Fluid\ViewHelpers\Link\ActionViewHelper\renderFrontendLinkWithCoreContext(), TYPO3\CMS\Fluid\ViewHelpers\Link\PageViewHelper\renderFrontendLinkWithCoreContext(), TYPO3\CMS\Fluid\ViewHelpers\Uri\PageViewHelper\renderFrontendLinkWithCoreContext(), TYPO3\CMS\Lowlevel\Controller\DatabaseIntegrityController\resultRowDisplay(), and TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler\sanitizeUriForComparison().

◆ buildUrl()

static TYPO3\CMS\Core\Utility\HttpUtility::buildUrl ( array  $urlParts)
static

Member Data Documentation

◆ HTTP_STATUS_100

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_100 = 'HTTP/1.1 100 Continue'

Definition at line 27 of file HttpUtility.php.

◆ HTTP_STATUS_101

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_101 = 'HTTP/1.1 101 Switching Protocols'

Definition at line 28 of file HttpUtility.php.

◆ HTTP_STATUS_102

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_102 = 'HTTP/1.1 102 Processing'

Definition at line 29 of file HttpUtility.php.

◆ HTTP_STATUS_103

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_103 = 'HTTP/1.1 103 Early Hints'

Definition at line 30 of file HttpUtility.php.

◆ HTTP_STATUS_200

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_200 = 'HTTP/1.1 200 OK'

Definition at line 32 of file HttpUtility.php.

◆ HTTP_STATUS_201

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_201 = 'HTTP/1.1 201 Created'

Definition at line 33 of file HttpUtility.php.

◆ HTTP_STATUS_202

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_202 = 'HTTP/1.1 202 Accepted'

Definition at line 34 of file HttpUtility.php.

◆ HTTP_STATUS_203

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_203 = 'HTTP/1.1 203 Non-Authoritative Information'

Definition at line 35 of file HttpUtility.php.

◆ HTTP_STATUS_204

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_204 = 'HTTP/1.1 204 No Content'

Definition at line 36 of file HttpUtility.php.

◆ HTTP_STATUS_205

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_205 = 'HTTP/1.1 205 Reset Content'

Definition at line 37 of file HttpUtility.php.

◆ HTTP_STATUS_206

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_206 = 'HTTP/1.1 206 Partial Content'

Definition at line 38 of file HttpUtility.php.

◆ HTTP_STATUS_207

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_207 = 'HTTP/1.1 207 Multi-status'

Definition at line 39 of file HttpUtility.php.

◆ HTTP_STATUS_208

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_208 = 'HTTP/1.1 208 Already Reported'

Definition at line 40 of file HttpUtility.php.

◆ HTTP_STATUS_226

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_226 = 'HTTP/1.1 226 IM Used'

Definition at line 41 of file HttpUtility.php.

◆ HTTP_STATUS_300

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_300 = 'HTTP/1.1 300 Multiple Choices'

Definition at line 43 of file HttpUtility.php.

◆ HTTP_STATUS_301

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_301 = 'HTTP/1.1 301 Moved Permanently'

Definition at line 44 of file HttpUtility.php.

◆ HTTP_STATUS_302

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_302 = 'HTTP/1.1 302 Found'

Definition at line 45 of file HttpUtility.php.

◆ HTTP_STATUS_303

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_303 = 'HTTP/1.1 303 See Other'

Definition at line 46 of file HttpUtility.php.

◆ HTTP_STATUS_304

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_304 = 'HTTP/1.1 304 Not Modified'

Definition at line 47 of file HttpUtility.php.

◆ HTTP_STATUS_305

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_305 = 'HTTP/1.1 305 Use Proxy'

Definition at line 48 of file HttpUtility.php.

◆ HTTP_STATUS_306

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_306 = 'HTTP/1.1 306 Switch Proxy'

Definition at line 49 of file HttpUtility.php.

◆ HTTP_STATUS_307

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_307 = 'HTTP/1.1 307 Temporary Redirect'

Definition at line 50 of file HttpUtility.php.

◆ HTTP_STATUS_308

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_308 = 'HTTP/1.1 308 Permanent Redirect'

Definition at line 51 of file HttpUtility.php.

◆ HTTP_STATUS_400

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_400 = 'HTTP/1.1 400 Bad Request'

Definition at line 53 of file HttpUtility.php.

◆ HTTP_STATUS_401

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_401 = 'HTTP/1.1 401 Unauthorized'

Definition at line 54 of file HttpUtility.php.

◆ HTTP_STATUS_402

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_402 = 'HTTP/1.1 402 Payment Required'

Definition at line 55 of file HttpUtility.php.

◆ HTTP_STATUS_403

◆ HTTP_STATUS_404

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_404 = 'HTTP/1.1 404 Not Found'

Definition at line 57 of file HttpUtility.php.

◆ HTTP_STATUS_405

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_405 = 'HTTP/1.1 405 Method Not Allowed'

Definition at line 58 of file HttpUtility.php.

◆ HTTP_STATUS_406

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_406 = 'HTTP/1.1 406 Not Acceptable'

Definition at line 59 of file HttpUtility.php.

◆ HTTP_STATUS_407

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_407 = 'HTTP/1.1 407 Proxy Authentication Required'

Definition at line 60 of file HttpUtility.php.

◆ HTTP_STATUS_408

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_408 = 'HTTP/1.1 408 Request Timeout'

Definition at line 61 of file HttpUtility.php.

◆ HTTP_STATUS_409

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_409 = 'HTTP/1.1 409 Conflict'

Definition at line 62 of file HttpUtility.php.

◆ HTTP_STATUS_410

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_410 = 'HTTP/1.1 410 Gone'

Definition at line 63 of file HttpUtility.php.

◆ HTTP_STATUS_411

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_411 = 'HTTP/1.1 411 Length Required'

Definition at line 64 of file HttpUtility.php.

◆ HTTP_STATUS_412

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_412 = 'HTTP/1.1 412 Precondition Failed'

Definition at line 65 of file HttpUtility.php.

◆ HTTP_STATUS_413

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_413 = 'HTTP/1.1 413 Request Entity Too Large'

Definition at line 66 of file HttpUtility.php.

◆ HTTP_STATUS_414

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_414 = 'HTTP/1.1 414 URI Too Long'

Definition at line 67 of file HttpUtility.php.

◆ HTTP_STATUS_415

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_415 = 'HTTP/1.1 415 Unsupported Media Type'

Definition at line 68 of file HttpUtility.php.

◆ HTTP_STATUS_416

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_416 = 'HTTP/1.1 416 Requested range not satisfiable'

Definition at line 69 of file HttpUtility.php.

◆ HTTP_STATUS_417

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_417 = 'HTTP/1.1 417 Expectation Failed'

Definition at line 70 of file HttpUtility.php.

◆ HTTP_STATUS_418

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_418 = 'HTTP/1.1 418 I\'m a teapot'

Definition at line 71 of file HttpUtility.php.

◆ HTTP_STATUS_422

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_422 = 'HTTP/1.1 422 Unprocessable Entity'

Definition at line 72 of file HttpUtility.php.

◆ HTTP_STATUS_423

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_423 = 'HTTP/1.1 423 Locked'

Definition at line 73 of file HttpUtility.php.

◆ HTTP_STATUS_424

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_424 = 'HTTP/1.1 424 Failed Dependency'

Definition at line 74 of file HttpUtility.php.

◆ HTTP_STATUS_425

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_425 = 'HTTP/1.1 425 Unordered Collection'

Definition at line 75 of file HttpUtility.php.

◆ HTTP_STATUS_426

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_426 = 'HTTP/1.1 426 Upgrade Required'

Definition at line 76 of file HttpUtility.php.

◆ HTTP_STATUS_428

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_428 = 'HTTP/1.1 428 Precondition Required'

Definition at line 77 of file HttpUtility.php.

◆ HTTP_STATUS_429

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_429 = 'HTTP/1.1 429 Too Many Requests'

Definition at line 78 of file HttpUtility.php.

◆ HTTP_STATUS_431

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_431 = 'HTTP/1.1 431 Request Header Fields Too Large'

Definition at line 79 of file HttpUtility.php.

◆ HTTP_STATUS_451

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_451 = 'HTTP/1.1 451 Unavailable For Legal Reasons'

Definition at line 80 of file HttpUtility.php.

◆ HTTP_STATUS_500

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_500 = 'HTTP/1.1 500 Internal Server Error'

◆ HTTP_STATUS_501

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_501 = 'HTTP/1.1 501 Not Implemented'

Definition at line 83 of file HttpUtility.php.

◆ HTTP_STATUS_502

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_502 = 'HTTP/1.1 502 Bad Gateway'

Definition at line 84 of file HttpUtility.php.

◆ HTTP_STATUS_503

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_503 = 'HTTP/1.1 503 Service Unavailable'

Definition at line 85 of file HttpUtility.php.

◆ HTTP_STATUS_504

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_504 = 'HTTP/1.1 504 Gateway Time-out'

Definition at line 86 of file HttpUtility.php.

◆ HTTP_STATUS_505

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_505 = 'HTTP/1.1 505 Version not Supported'

Definition at line 87 of file HttpUtility.php.

◆ HTTP_STATUS_506

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_506 = 'HTTP/1.1 506 Variant Also Negotiates'

Definition at line 88 of file HttpUtility.php.

◆ HTTP_STATUS_507

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_507 = 'HTTP/1.1 507 Insufficient Storage'

Definition at line 89 of file HttpUtility.php.

◆ HTTP_STATUS_508

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_508 = 'HTTP/1.1 508 Loop Detected'

Definition at line 90 of file HttpUtility.php.

◆ HTTP_STATUS_509

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_509 = 'HTTP/1.1 509 Bandwidth Limit Exceeded'

Definition at line 91 of file HttpUtility.php.

◆ HTTP_STATUS_511

const TYPO3\CMS\Core\Utility\HttpUtility::HTTP_STATUS_511 = 'HTTP/1.1 511 Network Authentication Required'

Definition at line 92 of file HttpUtility.php.

◆ SCHEME_HTTP

const TYPO3\CMS\Core\Utility\HttpUtility::SCHEME_HTTP = 1

Definition at line 94 of file HttpUtility.php.

◆ SCHEME_HTTPS

const TYPO3\CMS\Core\Utility\HttpUtility::SCHEME_HTTPS = 2

Definition at line 95 of file HttpUtility.php.