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.
- PHP 7.4 or higher.
The package could be installed with Composer:
composer require yiisoft/http
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;
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
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
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'));
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);
}
}
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.
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.