yiisoft / http
Constants and PSR-7 PhpStorm meta for HTTP protocol headers, methods and statuses
                                    Fund package maintenance!
                                                                            
                                                                                                                                        Opencollective
                                                                                    
                                                                            
                                                                                                                                        yiisoft
                                                                                    
                                                                
Installs: 650 103
Dependents: 67
Suggesters: 0
Security: 0
Stars: 27
Watchers: 16
Forks: 9
Open Issues: 2
pkg:composer/yiisoft/http
Requires
- php: ^7.4|^8.0
- yiisoft/strings: ^2.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- roave/infection-static-analysis-plugin: ^1.10
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^4.12
This package is auto-updated.
Last update: 2025-10-16 06:30:11 UTC
README
Yii HTTP
The package provides:
- Constants for HTTP protocol headers, methods and statuses. All along with short descriptions and RFC links.
- PSR-7, PSR-17 PhpStorm meta for HTTP protocol headers, methods and statuses.
- ContentDispositionHeaderthat has static methods to generate- Content-Dispositionheader name and value.
- HeaderValueHelperthat has static methods to parse the header value parameters.
Requirements
- PHP 7.4 or higher.
- mbstringPHP extension.
Installation
The package could be installed with Composer:
composer require yiisoft/http
Method constants
Individual HTTP methods could be referenced as
use Yiisoft\Http\Method; Method::GET; Method::POST; Method::PUT; Method::DELETE; Method::PATCH; Method::HEAD; Method::OPTIONS;
To have a list of these, use:
use Yiisoft\Http\Method; Method::ALL;
HTTP status codes
Status codes could be referenced by name as:
use Yiisoft\Http\Status; Status::NOT_FOUND;
Status text could be obtained as the following:
use Yiisoft\Http\Status; Status::TEXTS[Status::NOT_FOUND];
ContentDispositionHeader usage
ContentDispositionHeader methods are static so usage is like the following:
use Yiisoft\Http\ContentDispositionHeader; $name = ContentDispositionHeader::name(); $value = ContentDispositionHeader::value( ContentDispositionHeader::INLINE, 'avatar.png', ); $value = ContentDispositionHeader::inline('document.pdf'); $value = ContentDispositionHeader::attachment('document.pdf');
HeaderValueHelper usage
HeaderValueHelper provides the following static methods:
use Yiisoft\Http\HeaderValueHelper; // Result: ['a' => '1', 'b' => '2'] HeaderValueHelper::getParameters('a=1;b=2'); // Result: ['value', 'a' => '1', 'b' => '2'] HeaderValueHelper::getValueAndParameters('value;a=1;b=2')); // Result: [['value2', 'q' => 1.0], ['value1', 'q' => 0.2]] HeaderValueHelper::getSortedValueAndParameters('value1;q=0.2,value2')); // Result: ['text/xml', 'text/html'] HeaderValueHelper::getSortedAcceptTypes('text/html;q=0.2,text/xml;q=0.4'));
PSR-7 and PSR-17 PhpStorm meta
The package includes PhpStorm meta-files that help IDE to provide values when completing code in cases such as:
use Psr\Http\Message\ResponseFactoryInterface; use Psr\Http\Message\ResponseInterface; use Yiisoft\Http\Header; use Yiisoft\Http\Status; class StaticController { private ResponseFactoryInterface $responseFactory; public function actionIndex(): ResponseInterface { return $this->responseFactory ->createResponse() ->withStatus(Status::OK) ->withoutHeader(Header::ACCEPT); } }
Documentation
If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.
License
The Yii HTTP is free software. It is released under the terms of the BSD License.
Please see LICENSE for more information.
Maintained by Yii Software.