├── .github ├── mlc_config.json └── workflows │ └── tests.yaml ├── .gitignore ├── CHANGELOG.md ├── LICENCE.md ├── README.md ├── composer.json ├── ecs.php ├── phpunit.xml.dist ├── src └── Header.php └── tests └── HeaderTest.php /.github/mlc_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "ignorePatterns": [ 3 | { 4 | "pattern": "^https://www.php.net" 5 | } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /.github/workflows/tests.yaml: -------------------------------------------------------------------------------- 1 | name: Tests and linting 2 | 3 | on: 4 | push: 5 | pull_request: 6 | schedule: 7 | - cron: '0 3 * * *' 8 | 9 | jobs: 10 | tests: 11 | runs-on: ubuntu-latest 12 | 13 | strategy: 14 | matrix: 15 | php-versions: ['7.3', '7.4', '8.0'] 16 | dependencies: [''] 17 | include: 18 | # Add lowest dependencies build for the lowest supported PHP version 19 | - { php-versions: '7.3', dependencies: '--prefer-lowest' } 20 | 21 | name: PHP ${{ matrix.php-versions }} ${{ matrix.dependencies }} 22 | 23 | steps: 24 | - uses: actions/checkout@v2 25 | 26 | - name: Setup PHP 27 | uses: shivammathur/setup-php@v2 28 | with: 29 | php-version: ${{ matrix.php-versions }} 30 | extensions: mbstring, intl, zip 31 | coverage: xdebug 32 | 33 | - name: Install dependencies 34 | run: composer update --no-interaction ${{ matrix.dependencies }} 35 | 36 | - name: Run tests 37 | run: ./vendor/bin/phpunit --colors=always --coverage-clover build/logs/clover.xml 38 | 39 | # Disabled, as there is no executable code except constants in the library 40 | # - name: Submit coverage to Coveralls 41 | # env: 42 | # COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} 43 | # run: | 44 | # composer global require twinh/php-coveralls 45 | # php-coveralls --coverage_clover=build/logs/clover.xml -v 46 | 47 | codestyle: 48 | name: "Code style and static analysis" 49 | runs-on: ubuntu-latest 50 | steps: 51 | - uses: actions/checkout@v2 52 | 53 | - name: Setup PHP 54 | uses: shivammathur/setup-php@v2 55 | with: 56 | php-version: '8.0' 57 | extensions: mbstring, intl 58 | 59 | - name: Install dependencies 60 | run: composer update --no-interaction 61 | 62 | - name: Lint 63 | run: composer lint 64 | 65 | - name: Run checks 66 | run: composer analyze 67 | 68 | markdown-link-check: 69 | name: "Markdown link check" 70 | runs-on: ubuntu-latest 71 | steps: 72 | - uses: actions/checkout@v2 73 | - uses: gaurav-nelson/github-action-markdown-link-check@v1 74 | with: 75 | use-verbose-mode: 'yes' 76 | config-file: '.github/mlc_config.json' 77 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | composer.lock 3 | phpunit.xml 4 | .phpunit.result.cache 5 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | 4 | 5 | ## Unreleased 6 | - Require PHP 7.3. 7 | 8 | ## 1.2.0 - 2020-09-01 9 | - Allow PHP 8.0. 10 | 11 | ## 1.1.0 - 2019-06-25 12 | - Add PHPDoc for all constants. 13 | - Require PHP 7.2. 14 | 15 | ## 1.0.0 - 2018-02-21 16 | - Require PHP 7. 17 | - Add `IF` and `PUBLIC` header constants. 18 | 19 | ## 0.2.0 - 2017-07-24 20 | - Fix PHP 5.6 compatibility (disable conflicting keywords - `If` and `Public`, will be re-enabled when PHP 5.6 support is dropped). 21 | 22 | ## 0.1.0 - 2017-07-24 23 | - Initial version with HTTP Header constants. 24 | -------------------------------------------------------------------------------- /LICENCE.md: -------------------------------------------------------------------------------- 1 | ### The MIT License (MIT) ### 2 | 3 | Copyright (c) 2017-present LMC s.r.o. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # HTTP Header Fields Constants for PHP 2 | 3 | [![Latest Stable Version](https://img.shields.io/packagist/v/lmc/http-constants.svg?style=flat-square)](https://packagist.org/packages/lmc/http-constants) 4 | [![GitHub Actions Build Status](https://img.shields.io/github/actions/workflow/status/lmc-eu/http-constants/tests.yaml?style=flat-square)](https://github.com/lmc-eu/http-constants/actions) 5 | [![Total Downloads](https://img.shields.io/packagist/dt/lmc/http-constants.svg?style=flat-square)](https://packagist.org/packages/lmc/http-constants) 6 | 7 | The missing PHP constants definition for header fields of your HTTP requests and responses. 8 | 9 | Stop repeating string identifiers and placing typos of HTTP headers in your code! 10 | 11 | Could be used when interacting with headers using [pure PHP], [Guzzle], [Symfony HttpFoundation], [Zend HTTP], [Zend Diactoros] etc. 12 | 13 | Contains all ~200 constants for headers defined in [IANA list] (both Permanent and Provisional) and some common non-standard headers based on [Wikipedia list]. 14 | 15 | ## Install 16 | 17 | ```sh 18 | $ composer require lmc/http-constants 19 | ``` 20 | 21 | Note you will need to have [Composer](https://getcomposer.org/) installed to do this. 22 | 23 | ## Usage 24 | 25 | ```php 26 | request( 39 | 'GET', 40 | 'https://api.foo/bar', 41 | ['headers' => [Header::ACCEPT_ENCODING => 'gzip']] 42 | ); 43 | 44 | echo $response->getHeaderLine(Header::CONTENT_TYPE); 45 | } 46 | 47 | public function exampleWithSymfonyHttpFoundation() 48 | { 49 | $response = new \Symfony\Component\HttpFoundation\Response(); 50 | 51 | $response->headers->set(Header::ACCESS_CONTROL_ALLOW_ORIGIN, 'www.jobs.cz'); 52 | } 53 | 54 | public function exampleWithPurePhp() 55 | { 56 | header(Header::CONTENT_TYPE . ': application/pdf'); 57 | header(Header::CACHE_CONTROL . ': no-cache, must-revalidate'); 58 | } 59 | } 60 | 61 | ``` 62 | 63 | ## Changelog 64 | For latest changes see [CHANGELOG.md](CHANGELOG.md) file. We follow [Semantic Versioning](http://semver.org/). 65 | 66 | ## License 67 | The library is open source software licensed under the [MIT license](LICENCE.md). 68 | 69 | [pure PHP]: https://www.php.net/manual/en/function.header.php 70 | [Guzzle]: https://github.com/guzzle/guzzle 71 | [Symfony HttpFoundation]: https://symfony.com/doc/current/components/http_foundation.html 72 | [Zend HTTP]: https://zendframework.github.io/zend-http/ 73 | [Zend Diactoros]: https://zendframework.github.io/zend-diactoros/ 74 | [IANA list]: https://www.iana.org/assignments/message-headers/message-headers.xml 75 | [Wikipedia list]: https://en.wikipedia.org/wiki/List_of_HTTP_header_fields 76 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lmc/http-constants", 3 | "type": "library", 4 | "description": "HTTP Header Fields Constants", 5 | "keywords": [ 6 | "http", 7 | "request", 8 | "response", 9 | "constants" 10 | ], 11 | "license": "MIT", 12 | "require": { 13 | "php": "^7.3 || ^8.0" 14 | }, 15 | "require-dev": { 16 | "ergebnis/composer-normalize": "^2.8", 17 | "lmc/coding-standard": "^3.0", 18 | "php-parallel-lint/php-parallel-lint": "^1.2", 19 | "phpunit/phpunit": "^9.5" 20 | }, 21 | "config": { 22 | "sort-packages": true 23 | }, 24 | "autoload": { 25 | "psr-4": { 26 | "Lmc\\HttpConstants\\": "src/" 27 | } 28 | }, 29 | "autoload-dev": { 30 | "psr-4": { 31 | "Lmc\\HttpConstants\\": "tests/" 32 | } 33 | }, 34 | "minimum-stability": "stable", 35 | "scripts": { 36 | "all": [ 37 | "@lint", 38 | "@analyze", 39 | "@tests" 40 | ], 41 | "analyze": [ 42 | "@cs" 43 | ], 44 | "cs": "./vendor/bin/ecs check ./src/ ./tests/ ecs.php --ansi", 45 | "fix": [ 46 | "@composer normalize", 47 | "vendor/bin/ecs check -vv --ansi --clear-cache --fix src/ tests/ ecs.php" 48 | ], 49 | "lint": [ 50 | "vendor/bin/parallel-lint -j 10 -e php ./src ./tests ecs.php", 51 | "@composer validate", 52 | "@composer normalize --dry-run" 53 | ], 54 | "tests": "vendor/bin/phpunit" 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /ecs.php: -------------------------------------------------------------------------------- 1 | import(__DIR__ . '/vendor/lmc/coding-standard/ecs.php'); 8 | 9 | $services = $containerConfigurator->services(); 10 | $services->set(PhpUnitTestAnnotationFixer::class) 11 | ->call('configure', [['style' => 'annotation']]); 12 | }; 13 | -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | ./tests 11 | 12 | 13 | 14 | 15 | 16 | ./src 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/Header.php: -------------------------------------------------------------------------------- 1 | getConstants()); 19 | 20 | $this->assertCount($definedConstantsCount, $this->provideHeaders()); 21 | } 22 | 23 | /** 24 | * @test 25 | * @dataProvider provideHeaders 26 | */ 27 | public function shouldMatchHeaderValue(string $headerConstant, string $expectedValue): void 28 | { 29 | $this->assertSame($expectedValue, $headerConstant); 30 | } 31 | 32 | public function provideHeaders(): array 33 | { 34 | return [ 35 | Header::A_IM => [Header::A_IM, 'A-IM'], 36 | Header::ACCEPT => [Header::ACCEPT, 'Accept'], 37 | Header::ACCEPT_ADDITIONS => [Header::ACCEPT_ADDITIONS, 'Accept-Additions'], 38 | Header::ACCEPT_CHARSET => [Header::ACCEPT_CHARSET, 'Accept-Charset'], 39 | Header::ACCEPT_DATETIME => [Header::ACCEPT_DATETIME, 'Accept-Datetime'], 40 | Header::ACCEPT_ENCODING => [Header::ACCEPT_ENCODING, 'Accept-Encoding'], 41 | Header::ACCEPT_FEATURES => [Header::ACCEPT_FEATURES, 'Accept-Features'], 42 | Header::ACCEPT_LANGUAGE => [Header::ACCEPT_LANGUAGE, 'Accept-Language'], 43 | Header::ACCEPT_PATCH => [Header::ACCEPT_PATCH, 'Accept-Patch'], 44 | Header::ACCEPT_POST => [Header::ACCEPT_POST, 'Accept-Post'], 45 | Header::ACCEPT_RANGES => [Header::ACCEPT_RANGES, 'Accept-Ranges'], 46 | Header::AGE => [Header::AGE, 'Age'], 47 | Header::ALLOW => [Header::ALLOW, 'Allow'], 48 | Header::ALPN => [Header::ALPN, 'ALPN'], 49 | Header::ALT_SVC => [Header::ALT_SVC, 'Alt-Svc'], 50 | Header::ALT_USED => [Header::ALT_USED, 'Alt-Used'], 51 | Header::ALTERNATES => [Header::ALTERNATES, 'Alternates'], 52 | Header::APPLY_TO_REDIRECT_REF => [Header::APPLY_TO_REDIRECT_REF, 'Apply-To-Redirect-Ref'], 53 | Header::AUTHENTICATION_CONTROL => [Header::AUTHENTICATION_CONTROL, 'Authentication-Control'], 54 | Header::AUTHENTICATION_INFO => [Header::AUTHENTICATION_INFO, 'Authentication-Info'], 55 | Header::AUTHORIZATION => [Header::AUTHORIZATION, 'Authorization'], 56 | Header::C_EXT => [Header::C_EXT, 'C-Ext'], 57 | Header::C_MAN => [Header::C_MAN, 'C-Man'], 58 | Header::C_OPT => [Header::C_OPT, 'C-Opt'], 59 | Header::C_PEP => [Header::C_PEP, 'C-PEP'], 60 | Header::C_PEP_INFO => [Header::C_PEP_INFO, 'C-PEP-Info'], 61 | Header::CACHE_CONTROL => [Header::CACHE_CONTROL, 'Cache-Control'], 62 | Header::CALDAV_TIMEZONES => [Header::CALDAV_TIMEZONES, 'CalDAV-Timezones'], 63 | Header::CLOSE => [Header::CLOSE, 'Close'], 64 | Header::CONNECTION => [Header::CONNECTION, 'Connection'], 65 | Header::CONTENT_BASE => [Header::CONTENT_BASE, 'Content-Base'], 66 | Header::CONTENT_DISPOSITION => [Header::CONTENT_DISPOSITION, 'Content-Disposition'], 67 | Header::CONTENT_ENCODING => [Header::CONTENT_ENCODING, 'Content-Encoding'], 68 | Header::CONTENT_ID => [Header::CONTENT_ID, 'Content-ID'], 69 | Header::CONTENT_LANGUAGE => [Header::CONTENT_LANGUAGE, 'Content-Language'], 70 | Header::CONTENT_LENGTH => [Header::CONTENT_LENGTH, 'Content-Length'], 71 | Header::CONTENT_LOCATION => [Header::CONTENT_LOCATION, 'Content-Location'], 72 | Header::CONTENT_MD5 => [Header::CONTENT_MD5, 'Content-MD5'], 73 | Header::CONTENT_RANGE => [Header::CONTENT_RANGE, 'Content-Range'], 74 | Header::CONTENT_SCRIPT_TYPE => [Header::CONTENT_SCRIPT_TYPE, 'Content-Script-Type'], 75 | Header::CONTENT_STYLE_TYPE => [Header::CONTENT_STYLE_TYPE, 'Content-Style-Type'], 76 | Header::CONTENT_TYPE => [Header::CONTENT_TYPE, 'Content-Type'], 77 | Header::CONTENT_VERSION => [Header::CONTENT_VERSION, 'Content-Version'], 78 | Header::COOKIE => [Header::COOKIE, 'Cookie'], 79 | Header::COOKIE2 => [Header::COOKIE2, 'Cookie2'], 80 | Header::DASL => [Header::DASL, 'DASL'], 81 | Header::DAV => [Header::DAV, 'DAV'], 82 | Header::DATE => [Header::DATE, 'Date'], 83 | Header::DEFAULT_STYLE => [Header::DEFAULT_STYLE, 'Default-Style'], 84 | Header::DELTA_BASE => [Header::DELTA_BASE, 'Delta-Base'], 85 | Header::DEPTH => [Header::DEPTH, 'Depth'], 86 | Header::DERIVED_FROM => [Header::DERIVED_FROM, 'Derived-From'], 87 | Header::DESTINATION => [Header::DESTINATION, 'Destination'], 88 | Header::DIFFERENTIAL_ID => [Header::DIFFERENTIAL_ID, 'Differential-ID'], 89 | Header::DIGEST => [Header::DIGEST, 'Digest'], 90 | Header::ETAG => [Header::ETAG, 'ETag'], 91 | Header::EXPECT => [Header::EXPECT, 'Expect'], 92 | Header::EXPIRES => [Header::EXPIRES, 'Expires'], 93 | Header::EXT => [Header::EXT, 'Ext'], 94 | Header::FORWARDED => [Header::FORWARDED, 'Forwarded'], 95 | Header::FROM => [Header::FROM, 'From'], 96 | Header::GETPROFILE => [Header::GETPROFILE, 'GetProfile'], 97 | Header::HOBAREG => [Header::HOBAREG, 'Hobareg'], 98 | Header::HOST => [Header::HOST, 'Host'], 99 | Header::HTTP2_SETTINGS => [Header::HTTP2_SETTINGS, 'HTTP2-Settings'], 100 | Header::IM => [Header::IM, 'IM'], 101 | Header::IF => [Header::IF, 'If'], 102 | Header::IF_MATCH => [Header::IF_MATCH, 'If-Match'], 103 | Header::IF_MODIFIED_SINCE => [Header::IF_MODIFIED_SINCE, 'If-Modified-Since'], 104 | Header::IF_NONE_MATCH => [Header::IF_NONE_MATCH, 'If-None-Match'], 105 | Header::IF_RANGE => [Header::IF_RANGE, 'If-Range'], 106 | Header::IF_SCHEDULE_TAG_MATCH => [Header::IF_SCHEDULE_TAG_MATCH, 'If-Schedule-Tag-Match'], 107 | Header::IF_UNMODIFIED_SINCE => [Header::IF_UNMODIFIED_SINCE, 'If-Unmodified-Since'], 108 | Header::KEEP_ALIVE => [Header::KEEP_ALIVE, 'Keep-Alive'], 109 | Header::LABEL => [Header::LABEL, 'Label'], 110 | Header::LAST_MODIFIED => [Header::LAST_MODIFIED, 'Last-Modified'], 111 | Header::LINK => [Header::LINK, 'Link'], 112 | Header::LOCATION => [Header::LOCATION, 'Location'], 113 | Header::LOCK_TOKEN => [Header::LOCK_TOKEN, 'Lock-Token'], 114 | Header::MAN => [Header::MAN, 'Man'], 115 | Header::MAX_FORWARDS => [Header::MAX_FORWARDS, 'Max-Forwards'], 116 | Header::MEMENTO_DATETIME => [Header::MEMENTO_DATETIME, 'Memento-Datetime'], 117 | Header::METER => [Header::METER, 'Meter'], 118 | Header::MIME_VERSION => [Header::MIME_VERSION, 'MIME-Version'], 119 | Header::NEGOTIATE => [Header::NEGOTIATE, 'Negotiate'], 120 | Header::OPT => [Header::OPT, 'Opt'], 121 | Header::OPTIONAL_WWW_AUTHENTICATE => [Header::OPTIONAL_WWW_AUTHENTICATE, 'Optional-WWW-Authenticate'], 122 | Header::ORDERING_TYPE => [Header::ORDERING_TYPE, 'Ordering-Type'], 123 | Header::ORIGIN => [Header::ORIGIN, 'Origin'], 124 | Header::OVERWRITE => [Header::OVERWRITE, 'Overwrite'], 125 | Header::P3P => [Header::P3P, 'P3P'], 126 | Header::PEP => [Header::PEP, 'PEP'], 127 | Header::PICS_LABEL => [Header::PICS_LABEL, 'PICS-Label'], 128 | Header::PEP_INFO => [Header::PEP_INFO, 'Pep-Info'], 129 | Header::POSITION => [Header::POSITION, 'Position'], 130 | Header::PRAGMA => [Header::PRAGMA, 'Pragma'], 131 | Header::PREFER => [Header::PREFER, 'Prefer'], 132 | Header::PREFERENCE_APPLIED => [Header::PREFERENCE_APPLIED, 'Preference-Applied'], 133 | Header::PROFILEOBJECT => [Header::PROFILEOBJECT, 'ProfileObject'], 134 | Header::PROTOCOL => [Header::PROTOCOL, 'Protocol'], 135 | Header::PROTOCOL_INFO => [Header::PROTOCOL_INFO, 'Protocol-Info'], 136 | Header::PROTOCOL_QUERY => [Header::PROTOCOL_QUERY, 'Protocol-Query'], 137 | Header::PROTOCOL_REQUEST => [Header::PROTOCOL_REQUEST, 'Protocol-Request'], 138 | Header::PROXY_AUTHENTICATE => [Header::PROXY_AUTHENTICATE, 'Proxy-Authenticate'], 139 | Header::PROXY_AUTHENTICATION_INFO => [Header::PROXY_AUTHENTICATION_INFO, 'Proxy-Authentication-Info'], 140 | Header::PROXY_AUTHORIZATION => [Header::PROXY_AUTHORIZATION, 'Proxy-Authorization'], 141 | Header::PROXY_FEATURES => [Header::PROXY_FEATURES, 'Proxy-Features'], 142 | Header::PROXY_INSTRUCTION => [Header::PROXY_INSTRUCTION, 'Proxy-Instruction'], 143 | Header::PUBLIC => [Header::PUBLIC, 'Public'], 144 | Header::PUBLIC_KEY_PINS => [Header::PUBLIC_KEY_PINS, 'Public-Key-Pins'], 145 | Header::PUBLIC_KEY_PINS_REPORT_ONLY => [Header::PUBLIC_KEY_PINS_REPORT_ONLY, 'Public-Key-Pins-Report-Only'], 146 | Header::RANGE => [Header::RANGE, 'Range'], 147 | Header::REDIRECT_REF => [Header::REDIRECT_REF, 'Redirect-Ref'], 148 | Header::REFERER => [Header::REFERER, 'Referer'], 149 | Header::RETRY_AFTER => [Header::RETRY_AFTER, 'Retry-After'], 150 | Header::SAFE => [Header::SAFE, 'Safe'], 151 | Header::SCHEDULE_REPLY => [Header::SCHEDULE_REPLY, 'Schedule-Reply'], 152 | Header::SCHEDULE_TAG => [Header::SCHEDULE_TAG, 'Schedule-Tag'], 153 | Header::SEC_WEBSOCKET_ACCEPT => [Header::SEC_WEBSOCKET_ACCEPT, 'Sec-WebSocket-Accept'], 154 | Header::SEC_WEBSOCKET_EXTENSIONS => [Header::SEC_WEBSOCKET_EXTENSIONS, 'Sec-WebSocket-Extensions'], 155 | Header::SEC_WEBSOCKET_KEY => [Header::SEC_WEBSOCKET_KEY, 'Sec-WebSocket-Key'], 156 | Header::SEC_WEBSOCKET_PROTOCOL => [Header::SEC_WEBSOCKET_PROTOCOL, 'Sec-WebSocket-Protocol'], 157 | Header::SEC_WEBSOCKET_VERSION => [Header::SEC_WEBSOCKET_VERSION, 'Sec-WebSocket-Version'], 158 | Header::SECURITY_SCHEME => [Header::SECURITY_SCHEME, 'Security-Scheme'], 159 | Header::SERVER => [Header::SERVER, 'Server'], 160 | Header::SET_COOKIE => [Header::SET_COOKIE, 'Set-Cookie'], 161 | Header::SET_COOKIE2 => [Header::SET_COOKIE2, 'Set-Cookie2'], 162 | Header::SETPROFILE => [Header::SETPROFILE, 'SetProfile'], 163 | Header::SLUG => [Header::SLUG, 'SLUG'], 164 | Header::SOAPACTION => [Header::SOAPACTION, 'SoapAction'], 165 | Header::STATUS_URI => [Header::STATUS_URI, 'Status-URI'], 166 | Header::STRICT_TRANSPORT_SECURITY => [Header::STRICT_TRANSPORT_SECURITY, 'Strict-Transport-Security'], 167 | Header::SURROGATE_CAPABILITY => [Header::SURROGATE_CAPABILITY, 'Surrogate-Capability'], 168 | Header::SURROGATE_CONTROL => [Header::SURROGATE_CONTROL, 'Surrogate-Control'], 169 | Header::TCN => [Header::TCN, 'TCN'], 170 | Header::TE => [Header::TE, 'TE'], 171 | Header::TIMEOUT => [Header::TIMEOUT, 'Timeout'], 172 | Header::TOPIC => [Header::TOPIC, 'Topic'], 173 | Header::TRAILER => [Header::TRAILER, 'Trailer'], 174 | Header::TRANSFER_ENCODING => [Header::TRANSFER_ENCODING, 'Transfer-Encoding'], 175 | Header::TTL => [Header::TTL, 'TTL'], 176 | Header::URGENCY => [Header::URGENCY, 'Urgency'], 177 | Header::URI => [Header::URI, 'URI'], 178 | Header::UPGRADE => [Header::UPGRADE, 'Upgrade'], 179 | Header::USER_AGENT => [Header::USER_AGENT, 'User-Agent'], 180 | Header::VARIANT_VARY => [Header::VARIANT_VARY, 'Variant-Vary'], 181 | Header::VARY => [Header::VARY, 'Vary'], 182 | Header::VIA => [Header::VIA, 'Via'], 183 | Header::WWW_AUTHENTICATE => [Header::WWW_AUTHENTICATE, 'WWW-Authenticate'], 184 | Header::WANT_DIGEST => [Header::WANT_DIGEST, 'Want-Digest'], 185 | Header::WARNING => [Header::WARNING, 'Warning'], 186 | Header::X_FRAME_OPTIONS => [Header::X_FRAME_OPTIONS, 'X-Frame-Options'], 187 | Header::ACCESS_CONTROL => [Header::ACCESS_CONTROL, 'Access-Control'], 188 | Header::ACCESS_CONTROL_ALLOW_CREDENTIALS => [ 189 | Header::ACCESS_CONTROL_ALLOW_CREDENTIALS, 190 | 'Access-Control-Allow-Credentials', 191 | ], 192 | Header::ACCESS_CONTROL_ALLOW_HEADERS => [ 193 | Header::ACCESS_CONTROL_ALLOW_HEADERS, 194 | 'Access-Control-Allow-Headers', 195 | ], 196 | Header::ACCESS_CONTROL_ALLOW_METHODS => [ 197 | Header::ACCESS_CONTROL_ALLOW_METHODS, 198 | 'Access-Control-Allow-Methods', 199 | ], 200 | Header::ACCESS_CONTROL_ALLOW_ORIGIN => [Header::ACCESS_CONTROL_ALLOW_ORIGIN, 'Access-Control-Allow-Origin'], 201 | Header::ACCESS_CONTROL_MAX_AGE => [Header::ACCESS_CONTROL_MAX_AGE, 'Access-Control-Max-Age'], 202 | Header::ACCESS_CONTROL_REQUEST_METHOD => [ 203 | Header::ACCESS_CONTROL_REQUEST_METHOD, 204 | 'Access-Control-Request-Method', 205 | ], 206 | Header::ACCESS_CONTROL_REQUEST_HEADERS => [ 207 | Header::ACCESS_CONTROL_REQUEST_HEADERS, 208 | 'Access-Control-Request-Headers', 209 | ], 210 | Header::COMPLIANCE => [Header::COMPLIANCE, 'Compliance'], 211 | Header::CONTENT_TRANSFER_ENCODING => [Header::CONTENT_TRANSFER_ENCODING, 'Content-Transfer-Encoding'], 212 | Header::COST => [Header::COST, 'Cost'], 213 | Header::EDIINT_FEATURES => [Header::EDIINT_FEATURES, 'EDIINT-Features'], 214 | Header::MESSAGE_ID => [Header::MESSAGE_ID, 'Message-ID'], 215 | Header::METHOD_CHECK => [Header::METHOD_CHECK, 'Method-Check'], 216 | Header::METHOD_CHECK_EXPIRES => [Header::METHOD_CHECK_EXPIRES, 'Method-Check-Expires'], 217 | Header::NON_COMPLIANCE => [Header::NON_COMPLIANCE, 'Non-Compliance'], 218 | Header::OPTIONAL => [Header::OPTIONAL, 'Optional'], 219 | Header::REFERER_ROOT => [Header::REFERER_ROOT, 'Referer-Root'], 220 | Header::RESOLUTION_HINT => [Header::RESOLUTION_HINT, 'Resolution-Hint'], 221 | Header::RESOLVER_LOCATION => [Header::RESOLVER_LOCATION, 'Resolver-Location'], 222 | Header::SUBOK => [Header::SUBOK, 'SubOK'], 223 | Header::SUBST => [Header::SUBST, 'Subst'], 224 | Header::TITLE => [Header::TITLE, 'Title'], 225 | Header::UA_COLOR => [Header::UA_COLOR, 'UA-Color'], 226 | Header::UA_MEDIA => [Header::UA_MEDIA, 'UA-Media'], 227 | Header::UA_PIXELS => [Header::UA_PIXELS, 'UA-Pixels'], 228 | Header::UA_RESOLUTION => [Header::UA_RESOLUTION, 'UA-Resolution'], 229 | Header::UA_WINDOWPIXELS => [Header::UA_WINDOWPIXELS, 'UA-Windowpixels'], 230 | Header::VERSION => [Header::VERSION, 'Version'], 231 | Header::X_DEVICE_ACCEPT => [Header::X_DEVICE_ACCEPT, 'X-Device-Accept'], 232 | Header::X_DEVICE_ACCEPT_CHARSET => [Header::X_DEVICE_ACCEPT_CHARSET, 'X-Device-Accept-Charset'], 233 | Header::X_DEVICE_ACCEPT_ENCODING => [Header::X_DEVICE_ACCEPT_ENCODING, 'X-Device-Accept-Encoding'], 234 | Header::X_DEVICE_ACCEPT_LANGUAGE => [Header::X_DEVICE_ACCEPT_LANGUAGE, 'X-Device-Accept-Language'], 235 | Header::X_DEVICE_USER_AGENT => [Header::X_DEVICE_USER_AGENT, 'X-Device-User-Agent'], 236 | Header::CONTENT_SECURITY_POLICY => [Header::CONTENT_SECURITY_POLICY, 'Content-Security-Policy'], 237 | Header::DNT => [Header::DNT, 'DNT'], 238 | Header::PROXY_CONNECTION => [Header::PROXY_CONNECTION, 'Proxy-Connection'], 239 | Header::STATUS => [Header::STATUS, 'Status'], 240 | Header::UPGRADE_INSECURE_REQUESTS => [Header::UPGRADE_INSECURE_REQUESTS, 'Upgrade-Insecure-Requests'], 241 | Header::X_CONTENT_DURATION => [Header::X_CONTENT_DURATION, 'X-Content-Duration'], 242 | Header::X_CONTENT_SECURITY_POLICY => [Header::X_CONTENT_SECURITY_POLICY, 'X-Content-Security-Policy'], 243 | Header::X_CONTENT_TYPE_OPTIONS => [Header::X_CONTENT_TYPE_OPTIONS, 'X-Content-Type-Options'], 244 | Header::X_CORRELATION_ID => [Header::X_CORRELATION_ID, 'X-Correlation-ID'], 245 | Header::X_CSRF_TOKEN => [Header::X_CSRF_TOKEN, 'X-Csrf-Token'], 246 | Header::X_FORWARDED_FOR => [Header::X_FORWARDED_FOR, 'X-Forwarded-For'], 247 | Header::X_FORWARDED_HOST => [Header::X_FORWARDED_HOST, 'X-Forwarded-Host'], 248 | Header::X_FORWARDED_PROTO => [Header::X_FORWARDED_PROTO, 'X-Forwarded-Proto'], 249 | Header::X_HTTP_METHOD_OVERRIDE => [Header::X_HTTP_METHOD_OVERRIDE, 'X-Http-Method-Override'], 250 | Header::X_POWERED_BY => [Header::X_POWERED_BY, 'X-Powered-By'], 251 | Header::X_REQUEST_ID => [Header::X_REQUEST_ID, 'X-Request-ID'], 252 | Header::X_REQUESTED_WITH => [Header::X_REQUESTED_WITH, 'X-Requested-With'], 253 | Header::X_UA_COMPATIBLE => [Header::X_UA_COMPATIBLE, 'X-UA-Compatible'], 254 | Header::X_UIDH => [Header::X_UIDH, 'X-UIDH'], 255 | Header::X_WAP_PROFILE => [Header::X_WAP_PROFILE, 'X-Wap-Profile'], 256 | Header::X_WEBKIT_CSP => [Header::X_WEBKIT_CSP, 'X-WebKit-CSP'], 257 | Header::X_XSS_PROTECTION => [Header::X_XSS_PROTECTION, 'X-XSS-Protection'], 258 | ]; 259 | } 260 | } 261 | --------------------------------------------------------------------------------