Skip to content

Commit

Permalink
Merge pull request #55 from jbboehr/php80
Browse files Browse the repository at this point in the history
Test against PHP 8.0
  • Loading branch information
kevinsmith authored May 23, 2021
2 parents 668396e + c690551 commit 7606d88
Show file tree
Hide file tree
Showing 11 changed files with 24 additions and 19 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ php:
- 7.2
- 7.3
- 7.4
- 8.0
before_script:
- composer self-update
- composer install
Expand Down
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
"psr/http-server-middleware": "^1.0"
},
"require-dev": {
"doctrine/coding-standard": "^6.0",
"doctrine/coding-standard": "^8.2",
"friendsofphp/php-cs-fixer": "^3.0",
"laminas/laminas-diactoros": "~2.2",
"phpstan/phpstan": "^0.12.14",
"phpunit/phpunit": "~7.0",
"phpunit/phpunit": "~7.0 || ~8.5",
"roave/security-advisories": "dev-master",
"vimeo/psalm": "^4.7"
},
Expand Down
3 changes: 3 additions & 0 deletions phpcs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,8 @@
<exclude name="SlevomatCodingStandard.Functions.StaticClosure.ClosureNotStatic"/>
<exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingReturnTypeHint"/>
<exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingParameterTypeHint"/>
<exclude name="SlevomatCodingStandard.TypeHints.ReturnTypeHint.MissingNativeTypeHint"/>
<exclude name="SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint"/>
<exclude name="SlevomatCodingStandard.TypeHints.PropertyTypeHint.MissingNativeTypeHint"/>
</rule>
</ruleset>
6 changes: 2 additions & 4 deletions src/Relay.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,15 @@

use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;

use function reset;

/**
* A reusable PSR-15 request handler.
*/
class Relay extends RequestHandler
{
/**
* @inheritdoc
*/
public function handle(ServerRequestInterface $request) : ResponseInterface
public function handle(ServerRequestInterface $request): ResponseInterface
{
reset($this->queue);
$runner = new Runner($this->queue, $this->resolver);
Expand Down
2 changes: 1 addition & 1 deletion src/RelayBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public function __construct(callable $resolver = null)
/**
* @param iterable<mixed> $queue A queue of middleware entries.
*/
public function newInstance($queue) : Relay
public function newInstance($queue): Relay
{
return new Relay($queue, $this->resolver);
}
Expand Down
3 changes: 2 additions & 1 deletion src/RequestHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use TypeError;

use function is_array;
use function is_iterable;
use function iterator_to_array;
Expand Down Expand Up @@ -53,5 +54,5 @@ public function __construct($queue, callable $resolver = null)
/**
* Handles the current entry in the middleware queue and advances.
*/
abstract public function handle(ServerRequestInterface $request) : ResponseInterface;
abstract public function handle(ServerRequestInterface $request): ResponseInterface;
}
8 changes: 3 additions & 5 deletions src/Runner.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
use RuntimeException;

use function call_user_func;
use function current;
use function is_callable;
Expand All @@ -18,10 +19,7 @@
*/
class Runner extends RequestHandler
{
/**
* @inheritdoc
*/
public function handle(ServerRequestInterface $request) : ResponseInterface
public function handle(ServerRequestInterface $request): ResponseInterface
{
$entry = current($this->queue);
$middleware = call_user_func($this->resolver, $entry);
Expand All @@ -48,7 +46,7 @@ public function handle(ServerRequestInterface $request) : ResponseInterface
);
}

public function __invoke(ServerRequestInterface $request) : ResponseInterface
public function __invoke(ServerRequestInterface $request): ResponseInterface
{
return $this->handle($request);
}
Expand Down
3 changes: 2 additions & 1 deletion tests/FakeMiddleware.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;

use function sprintf;

class FakeMiddleware implements MiddlewareInterface
Expand All @@ -16,7 +17,7 @@ class FakeMiddleware implements MiddlewareInterface
public function process(
ServerRequestInterface $request,
RequestHandlerInterface $handler
) : ResponseInterface {
): ResponseInterface {
$n = ++ static::$count;
$response = $handler->handle($request);
$response->getBody()->write(sprintf('<%s', $n));
Expand Down
1 change: 1 addition & 0 deletions tests/FakeResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace Relay;

use Psr\Http\Server\MiddlewareInterface;

use function is_string;

class FakeResolver
Expand Down
5 changes: 3 additions & 2 deletions tests/RelayBuilderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace Relay;

use ArrayObject;
use Generator;
use InvalidArgumentException;
use IteratorAggregate;
use PHPUnit\Framework\TestCase;
Expand All @@ -12,7 +13,7 @@ class RelayBuilderTest extends TestCase
/** @var RelayBuilder */
protected $relayBuilder;

protected function setUp() : void
protected function setUp(): void
{
$this->relayBuilder = new RelayBuilder();
}
Expand All @@ -34,7 +35,7 @@ public function testArrayObject()
public function testTraversable()
{
$queue = new class implements IteratorAggregate {
public function getIterator()
public function getIterator(): Generator
{
yield new FakeMiddleware();
}
Expand Down
7 changes: 4 additions & 3 deletions tests/RelayTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
namespace Relay;

use Closure;
use Generator;
use InvalidArgumentException;
use IteratorAggregate;
use Laminas\Diactoros\Response;
Expand All @@ -18,7 +19,7 @@ class RelayTest extends TestCase
/** @var Closure */
protected $responder;

protected function setUp() : void
protected function setUp(): void
{
$this->responder = function ($request, $next) {
return new Response();
Expand Down Expand Up @@ -55,7 +56,7 @@ public function testArrayQueue()
public function testTraversableQueue()
{
$queue = new class implements IteratorAggregate {
public function getIterator()
public function getIterator(): Generator
{
yield new FakeMiddleware();
yield new FakeMiddleware();
Expand Down Expand Up @@ -129,7 +130,7 @@ public function testCallableMiddleware()
function (
ServerRequestInterface $request,
callable $next
) : ResponseInterface {
): ResponseInterface {
$response = $next($request);

$response->getBody()->write('Hello, callable world!');
Expand Down

0 comments on commit 7606d88

Please sign in to comment.