Passed
Push — master ( b5e885...54d7bc )
by Charles
02:34
created

EchoResponse   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 6
dl 0
loc 15
rs 10
c 0
b 0
f 0
1
<?php declare(strict_types=1);
2
3
namespace ncryptf\Tests\mock;
4
5
use Exception;
6
7
use Middlewares\Utils\Factory;
8
9
use Psr\Http\Message\StreamInterface;
10
use Psr\Http\Message\MessageInterface;
11
use Psr\Http\Message\ResponseInterface;
12
13
use Psr\Http\Server\MiddlewareInterface;
14
use Psr\Http\Message\ServerRequestInterface;
15
use Psr\Http\Server\RequestHandlerInterface;
16
17
/**
18
 * A simple response middleware that echo's the request back to the user
19
 */
20
final class EchoResponse implements MiddlewareInterface
21
{
22
    /**
23
     * Echoes the request back out to the response
24
     * @param ServerRequestInterface $request
25
     * @param RequestHandlerInterface $handler
26
     * @return ResponseInterface
27
     */
28
    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
29
    {
30
        $stream = fopen('php://memory', 'r+');
31
        fwrite($stream, $request->getAttribute('ncryptf-decrypted-body'));
32
        rewind($stream);
33
        return Factory::createResponse()
34
            ->withBody(new \Zend\Diactoros\Stream($stream));
35
    }
36
}
37