# Класс HttpSoft\ServerRequest\SapiNormalizer

Нормализует необходимые данные для создания HttpSoft\Message\ServerRequest из параметров сервера, реализует HttpSoft\ServerRequest\ServerNormalizerInterface.

Исходный код на GitHub.

use HttpSoft\ServerRequest\SapiNormalizer;

$normalizer = new SapiNormalizer();
$server = [
    'HTTPS' => 'on',
    'SERVER_PORT' => '443',
    'REQUEST_METHOD' => 'DELETE',
    'SERVER_PROTOCOL' => 'HTTP/2',
    'HTTP_HOST' => 'example.com',
    'HTTP_CACHE_CONTROL' => 'max-age=0',
    'HTTP_X_FORWARDED_PROTO' => 'https',
    'CONTENT_TYPE' => 'text/html; charset=UTF-8',
    'REQUEST_URI' => '/path?id=2',
    'QUERY_STRING' => 'id=2',
];

$normalizer->normalizeMethod($server); // 'DELETE'
$normalizer->normalizeProtocolVersion($server); // '2'
$normalizer->normalizeUri($server)->__toString(); // 'https://example.com/path?id=2'
$normalizer->normalizeHeaders($server);
// Обратите внимание: будут нормализованы только заголовки `CONTENT_*` и `HTTP_*`.
/*
[
    'Host' => 'example.com',
    'Cache-Control' => 'max-age=0',
    'X-Forwarded-Proto' => 'https',
    'Content-Type' => 'text/html; charset=UTF-8',
];
*/

# Публичные методы

Ниже представлены методы, которые определены в интерфейсе HttpSoft\ServerRequest\ServerNormalizerInterface.

# normalizeMethod

Возвращает нормализованный HTTP-метод запроса из параметров сервера (по умолчанию: 'GET').

public function normalizeMethod(array $server): string;

# normalizeProtocolVersion

Возвращает нормализованную версию HTTP-протокола из параметров сервера (по умолчанию: '1.1').

public function normalizeProtocolVersion(array $server): string;

# normalizeUri

Возвращает нормализованный URI (экземпляр Psr\Http\Message\UriInterface) запроса из параметров сервера.

public function normalizeUri(array $server): UriInterface;

# normalizeHeaders

Возвращает HTTP-заголовки с нормализованными именами из параметров сервера.

public function normalizeHeaders(array $server): array;