function HttpExceptionNormalizer::getInfoUrl

Same name in other branches
  1. 9 core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php \Drupal\jsonapi\Normalizer\HttpExceptionNormalizer::getInfoUrl()
  2. 10 core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php \Drupal\jsonapi\Normalizer\HttpExceptionNormalizer::getInfoUrl()
  3. 11.x core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php \Drupal\jsonapi\Normalizer\HttpExceptionNormalizer::getInfoUrl()

Return a string to the common problem type.

@internal

Return value

string|null URL pointing to the specific RFC-2616 section. Or NULL if it is an HTTP status code that is defined in another RFC.

See also

https://www.drupal.org/project/drupal/issues/2832211#comment-11826234

5 calls to HttpExceptionNormalizer::getInfoUrl()
HttpExceptionNormalizer::buildErrorObjects in core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php
Builds the normalized JSON:API error objects for the response.
NodeTest::testGetIndividual in core/modules/jsonapi/tests/src/Functional/NodeTest.php
Tests GETting an individual resource, plus edge cases to ensure good DX.
NodeTest::testPostNonExistingAuthor in core/modules/jsonapi/tests/src/Functional/NodeTest.php
Creating relationships to missing resources should be 404 per JSON:API 1.1.
ResourceResponseTestTrait::getAccessDeniedResponse in core/modules/jsonapi/tests/src/Functional/ResourceResponseTestTrait.php
Gets a generic forbidden response.
ResourceTestBase::assertResourceErrorResponse in core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php
Asserts that a resource error response has the given message.

File

core/modules/jsonapi/src/Normalizer/HttpExceptionNormalizer.php, line 119

Class

HttpExceptionNormalizer
Normalizes an HttpException in compliance with the JSON:API specification.

Namespace

Drupal\jsonapi\Normalizer

Code

public static function getInfoUrl($status_code) {
    // Depending on the error code we'll return a different URL.
    $url = 'http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html';
    $sections = [
        '100' => '#sec10.1.1',
        '101' => '#sec10.1.2',
        '200' => '#sec10.2.1',
        '201' => '#sec10.2.2',
        '202' => '#sec10.2.3',
        '203' => '#sec10.2.4',
        '204' => '#sec10.2.5',
        '205' => '#sec10.2.6',
        '206' => '#sec10.2.7',
        '300' => '#sec10.3.1',
        '301' => '#sec10.3.2',
        '302' => '#sec10.3.3',
        '303' => '#sec10.3.4',
        '304' => '#sec10.3.5',
        '305' => '#sec10.3.6',
        '307' => '#sec10.3.8',
        '400' => '#sec10.4.1',
        '401' => '#sec10.4.2',
        '402' => '#sec10.4.3',
        '403' => '#sec10.4.4',
        '404' => '#sec10.4.5',
        '405' => '#sec10.4.6',
        '406' => '#sec10.4.7',
        '407' => '#sec10.4.8',
        '408' => '#sec10.4.9',
        '409' => '#sec10.4.10',
        '410' => '#sec10.4.11',
        '411' => '#sec10.4.12',
        '412' => '#sec10.4.13',
        '413' => '#sec10.4.14',
        '414' => '#sec10.4.15',
        '415' => '#sec10.4.16',
        '416' => '#sec10.4.17',
        '417' => '#sec10.4.18',
        '500' => '#sec10.5.1',
        '501' => '#sec10.5.2',
        '502' => '#sec10.5.3',
        '503' => '#sec10.5.4',
        '504' => '#sec10.5.5',
        '505' => '#sec10.5.6',
    ];
    return empty($sections[$status_code]) ? NULL : $url . $sections[$status_code];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.