yiisoft / http
Constants and PSR-7 PhpStorm meta for HTTP protocol headers, methods and statuses
Fund package maintenance!
Opencollective
yiisoft
Installs: 419 490
Dependents: 61
Suggesters: 0
Security: 0
Stars: 26
Watchers: 19
Forks: 10
Open Issues: 4
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: 2024-10-18 15:20:33 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.
ContentDispositionHeader
that has static methods to generateContent-Disposition
header name and value.HeaderValueHelper
that has static methods to parse the header value parameters.
Requirements
- PHP 7.4 or higher.
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.