summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWolfy-J <[email protected]>2019-01-05 16:13:00 +0300
committerWolfy-J <[email protected]>2019-01-05 16:13:00 +0300
commit40d66629617f7a96b9005df356b94ab3b4dfb98f (patch)
tree9901e93d20d57affbdbc88963956c78586eb0b00 /src
parentd890e973c45fbe53916304321f185ce940776bb7 (diff)
zend factory dependency elliminated
Diffstat (limited to 'src')
-rw-r--r--src/Diactoros/ServerRequestFactory.php26
-rw-r--r--src/Diactoros/StreamFactory.php45
-rw-r--r--src/Diactoros/UploadedFileFactory.php35
-rw-r--r--src/Exception/RoadRunnerException.php2
-rw-r--r--src/PSR7Client.php11
-rw-r--r--src/Worker.php4
6 files changed, 117 insertions, 6 deletions
diff --git a/src/Diactoros/ServerRequestFactory.php b/src/Diactoros/ServerRequestFactory.php
new file mode 100644
index 00000000..4d427121
--- /dev/null
+++ b/src/Diactoros/ServerRequestFactory.php
@@ -0,0 +1,26 @@
+<?php
+declare(strict_types=1);
+
+/**
+ * High-performance PHP process supervisor and load balancer written in Go
+ *
+ * @author Wolfy-J
+ */
+
+namespace Spiral\RoadRunner\Diactoros;
+
+use Psr\Http\Message\ServerRequestFactoryInterface;
+use Psr\Http\Message\ServerRequestInterface;
+use Zend\Diactoros\ServerRequest;
+
+final class ServerRequestFactory implements ServerRequestFactoryInterface
+{
+ /**
+ * @inheritdoc
+ */
+ public function createServerRequest(string $method, $uri, array $serverParams = []): ServerRequestInterface
+ {
+ $uploadedFiles = [];
+ return new ServerRequest($serverParams, $uploadedFiles, $uri, $method);
+ }
+} \ No newline at end of file
diff --git a/src/Diactoros/StreamFactory.php b/src/Diactoros/StreamFactory.php
new file mode 100644
index 00000000..6004ef11
--- /dev/null
+++ b/src/Diactoros/StreamFactory.php
@@ -0,0 +1,45 @@
+<?php
+declare(strict_types=1);
+
+/**
+ * High-performance PHP process supervisor and load balancer written in Go
+ *
+ * @author Wolfy-J
+ */
+
+namespace Spiral\RoadRunner\Diactoros;
+
+use Psr\Http\Message\StreamFactoryInterface;
+use Psr\Http\Message\StreamInterface;
+use Zend\Diactoros\Stream;
+
+final class StreamFactory implements StreamFactoryInterface
+{
+ /**
+ * @inheritdoc
+ */
+ public function createStream(string $content = ''): StreamInterface
+ {
+ $resource = fopen('php://temp', 'r+');
+ fwrite($resource, $content);
+ rewind($resource);
+ return $this->createStreamFromResource($resource);
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function createStreamFromFile(string $file, string $mode = 'r'): StreamInterface
+ {
+ $resource = fopen($file, $mode);
+ return $this->createStreamFromResource($resource);
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function createStreamFromResource($resource): StreamInterface
+ {
+ return new Stream($resource);
+ }
+} \ No newline at end of file
diff --git a/src/Diactoros/UploadedFileFactory.php b/src/Diactoros/UploadedFileFactory.php
new file mode 100644
index 00000000..1543a826
--- /dev/null
+++ b/src/Diactoros/UploadedFileFactory.php
@@ -0,0 +1,35 @@
+<?php
+declare(strict_types=1);
+
+/**
+ * High-performance PHP process supervisor and load balancer written in Go
+ *
+ * @author Wolfy-J
+ */
+
+namespace Spiral\RoadRunner\Diactoros;
+
+use Psr\Http\Message\StreamInterface;
+use Psr\Http\Message\UploadedFileFactoryInterface;
+use Psr\Http\Message\UploadedFileInterface;
+use Zend\Diactoros\UploadedFile;
+
+final class UploadedFileFactory implements UploadedFileFactoryInterface
+{
+ /**
+ * @inheritdoc
+ */
+ public function createUploadedFile(
+ StreamInterface $stream,
+ int $size = null,
+ int $error = \UPLOAD_ERR_OK,
+ string $clientFilename = null,
+ string $clientMediaType = null
+ ): UploadedFileInterface {
+ if ($size === null) {
+ $size = $stream->getSize();
+ }
+
+ return new UploadedFile($stream, $size, $error, $clientFilename, $clientMediaType);
+ }
+} \ No newline at end of file
diff --git a/src/Exception/RoadRunnerException.php b/src/Exception/RoadRunnerException.php
index ee99bb2b..7c5c5929 100644
--- a/src/Exception/RoadRunnerException.php
+++ b/src/Exception/RoadRunnerException.php
@@ -1,4 +1,6 @@
<?php
+declare(strict_types=1);
+
/**
* High-performance PHP process supervisor and load balancer written in Go
*
diff --git a/src/PSR7Client.php b/src/PSR7Client.php
index 0b148884..1136ce10 100644
--- a/src/PSR7Client.php
+++ b/src/PSR7Client.php
@@ -1,4 +1,6 @@
<?php
+declare(strict_types=1);
+
/**
* High-performance PHP process supervisor and load balancer written in Go
*
@@ -7,7 +9,6 @@
namespace Spiral\RoadRunner;
-use Http\Factory\Diactoros;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestFactoryInterface;
use Psr\Http\Message\ServerRequestInterface;
@@ -124,10 +125,10 @@ class PSR7Client
$headers = new \stdClass();
}
- $this->worker->send($response->getBody(), json_encode([
- 'status' => $response->getStatusCode(),
- 'headers' => $headers
- ]));
+ $this->worker->send(
+ $response->getBody()->__toString(),
+ json_encode(['status' => $response->getStatusCode(), 'headers' => $headers])
+ );
}
/**
diff --git a/src/Worker.php b/src/Worker.php
index 7f92a714..da80e461 100644
--- a/src/Worker.php
+++ b/src/Worker.php
@@ -1,4 +1,6 @@
<?php
+declare(strict_types=1);
+
/**
* High-performance PHP process supervisor and load balancer written in Go
*
@@ -132,7 +134,7 @@ class Worker
*
* @throws RoadRunnerException
*/
- private function handleControl(string $body = null, &$header = null, int $flags): bool
+ private function handleControl(string $body = null, &$header = null, int $flags = 0): bool
{
$header = $body;
if (is_null($body) || $flags & Relay::PAYLOAD_RAW) {