version 1.5
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace Http\Message\StreamFactory;
|
||||
|
||||
use Http\Message\StreamFactory;
|
||||
use Laminas\Diactoros\Stream as LaminasStream;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
use Zend\Diactoros\Stream as ZendStream;
|
||||
|
||||
if (!interface_exists(StreamFactory::class)) {
|
||||
throw new \LogicException('You cannot use "Http\Message\MessageFactory\DiactorosStreamFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead');
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates Diactoros streams.
|
||||
*
|
||||
* @author Михаил Красильников <m.krasilnikov@yandex.ru>
|
||||
*
|
||||
* @deprecated This will be removed in php-http/message2.0. Consider using the official Diactoros PSR-17 factory
|
||||
*/
|
||||
final class DiactorosStreamFactory implements StreamFactory
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function createStream($body = null)
|
||||
{
|
||||
if ($body instanceof StreamInterface) {
|
||||
return $body;
|
||||
}
|
||||
|
||||
if (is_resource($body)) {
|
||||
if (class_exists(LaminasStream::class)) {
|
||||
return new LaminasStream($body);
|
||||
}
|
||||
|
||||
return new ZendStream($body);
|
||||
}
|
||||
|
||||
if (class_exists(LaminasStream::class)) {
|
||||
$stream = new LaminasStream('php://memory', 'rw');
|
||||
} else {
|
||||
$stream = new ZendStream('php://memory', 'rw');
|
||||
}
|
||||
|
||||
if (null !== $body && '' !== $body) {
|
||||
$stream->write((string) $body);
|
||||
}
|
||||
|
||||
return $stream;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Http\Message\StreamFactory;
|
||||
|
||||
use GuzzleHttp\Psr7\Utils;
|
||||
use Http\Message\StreamFactory;
|
||||
|
||||
if (!interface_exists(StreamFactory::class)) {
|
||||
throw new \LogicException('You cannot use "Http\Message\MessageFactory\GuzzleStreamFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead');
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates Guzzle streams.
|
||||
*
|
||||
* @author Михаил Красильников <m.krasilnikov@yandex.ru>
|
||||
*
|
||||
* @deprecated This will be removed in php-http/message2.0. Consider using the official Guzzle PSR-17 factory
|
||||
*/
|
||||
final class GuzzleStreamFactory implements StreamFactory
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function createStream($body = null)
|
||||
{
|
||||
if (class_exists(Utils::class)) {
|
||||
return Utils::streamFor($body);
|
||||
}
|
||||
|
||||
// legacy support for guzzle/psr7 1.*
|
||||
return \GuzzleHttp\Psr7\stream_for($body);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace Http\Message\StreamFactory;
|
||||
|
||||
use Http\Message\StreamFactory;
|
||||
use Psr\Http\Message\StreamInterface;
|
||||
use Slim\Http\Stream;
|
||||
|
||||
if (!interface_exists(StreamFactory::class)) {
|
||||
throw new \LogicException('You cannot use "Http\Message\MessageFactory\SlimStreamFactory" as the "php-http/message-factory" package is not installed. Try running "composer require php-http/message-factory". Note that this package is deprecated, use "psr/http-factory" instead');
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates Slim 3 streams.
|
||||
*
|
||||
* @author Mika Tuupola <tuupola@appelsiini.net>
|
||||
*
|
||||
* @deprecated This will be removed in php-http/message2.0. Consider using the official Slim PSR-17 factory
|
||||
*/
|
||||
final class SlimStreamFactory implements StreamFactory
|
||||
{
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function createStream($body = null)
|
||||
{
|
||||
if ($body instanceof StreamInterface) {
|
||||
return $body;
|
||||
}
|
||||
|
||||
if (is_resource($body)) {
|
||||
return new Stream($body);
|
||||
}
|
||||
|
||||
$resource = fopen('php://memory', 'r+');
|
||||
$stream = new Stream($resource);
|
||||
if (null !== $body && '' !== $body) {
|
||||
$stream->write((string) $body);
|
||||
}
|
||||
|
||||
return $stream;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user