Skip to content

Commit

Permalink
Replace ControllerInterface with PSR-15 interface
Browse files Browse the repository at this point in the history
The custom interface already had the same signature as the
one from the standard (except for the return type hint), so
why not use that one now? :)
  • Loading branch information
franzliedke committed May 30, 2018
1 parent e6b8ff8 commit b3d45fd
Show file tree
Hide file tree
Showing 22 changed files with 86 additions and 90 deletions.
8 changes: 4 additions & 4 deletions src/Api/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@

use Exception;
use Flarum\Foundation\Application;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\User\User;
use InvalidArgumentException;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\ServerRequestFactory;

class Client
Expand All @@ -43,7 +43,7 @@ public function __construct(Application $app, ErrorHandler $errorHandler)
/**
* Execute the given API action class, pass the input and return its response.
*
* @param string|ControllerInterface $controller
* @param string|RequestHandlerInterface $controller
* @param User|null $actor
* @param array $queryParams
* @param array $body
Expand All @@ -60,9 +60,9 @@ public function send($controller, User $actor = null, array $queryParams = [], a
$controller = $this->app->make($controller);
}

if (! ($controller instanceof ControllerInterface)) {
if (! ($controller instanceof RequestHandlerInterface)) {
throw new InvalidArgumentException(
'Endpoint must be an instance of '.ControllerInterface::class
'Endpoint must be an instance of '.RequestHandlerInterface::class
);
}

Expand Down
3 changes: 2 additions & 1 deletion src/Api/Controller/AbstractCreateController.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@

namespace Flarum\Api\Controller;

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

abstract class AbstractCreateController extends AbstractShowController
{
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
return parent::handle($request)->withStatus(201);
}
Expand Down
7 changes: 4 additions & 3 deletions src/Api/Controller/AbstractDeleteController.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,17 @@

namespace Flarum\Api\Controller;

use Flarum\Http\Controller\ControllerInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\EmptyResponse;

abstract class AbstractDeleteController implements ControllerInterface
abstract class AbstractDeleteController implements RequestHandlerInterface
{
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->delete($request);

Expand Down
7 changes: 4 additions & 3 deletions src/Api/Controller/AbstractSerializeController.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,16 @@
use Flarum\Api\Event\WillGetData;
use Flarum\Api\Event\WillSerializeData;
use Flarum\Api\JsonApiResponse;
use Flarum\Http\Controller\ControllerInterface;
use Illuminate\Contracts\Container\Container;
use Illuminate\Contracts\Events\Dispatcher;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Tobscure\JsonApi\Document;
use Tobscure\JsonApi\Parameters;
use Tobscure\JsonApi\SerializerInterface;

abstract class AbstractSerializeController implements ControllerInterface
abstract class AbstractSerializeController implements RequestHandlerInterface
{
/**
* The name of the serializer class to output results with.
Expand Down Expand Up @@ -86,7 +87,7 @@ abstract class AbstractSerializeController implements ControllerInterface
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$document = new Document;

Expand Down
7 changes: 4 additions & 3 deletions src/Api/Controller/ForgotPasswordController.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@

namespace Flarum\Api\Controller;

use Flarum\Http\Controller\ControllerInterface;
use Flarum\User\Command\RequestPasswordReset;
use Flarum\User\UserRepository;
use Illuminate\Contracts\Bus\Dispatcher;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\EmptyResponse;

class ForgotPasswordController implements ControllerInterface
class ForgotPasswordController implements RequestHandlerInterface
{
/**
* @var \Flarum\User\UserRepository
Expand All @@ -43,7 +44,7 @@ public function __construct(UserRepository $users, Dispatcher $bus)
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$email = array_get($request->getParsedBody(), 'email');

Expand Down
7 changes: 4 additions & 3 deletions src/Api/Controller/SendConfirmationEmailController.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,20 @@

namespace Flarum\Api\Controller;

use Flarum\Http\Controller\ControllerInterface;
use Flarum\Http\UrlGenerator;
use Flarum\Settings\SettingsRepositoryInterface;
use Flarum\User\AssertPermissionTrait;
use Flarum\User\EmailToken;
use Flarum\User\Exception\PermissionDeniedException;
use Illuminate\Contracts\Mail\Mailer;
use Illuminate\Mail\Message;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Symfony\Component\Translation\TranslatorInterface;
use Zend\Diactoros\Response\EmptyResponse;

class SendConfirmationEmailController implements ControllerInterface
class SendConfirmationEmailController implements RequestHandlerInterface
{
use AssertPermissionTrait;

Expand Down Expand Up @@ -64,7 +65,7 @@ public function __construct(SettingsRepositoryInterface $settings, Mailer $maile
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$id = array_get($request->getQueryParams(), 'id');
$actor = $request->getAttribute('actor');
Expand Down
7 changes: 4 additions & 3 deletions src/Api/Controller/SetPermissionController.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,20 @@
namespace Flarum\Api\Controller;

use Flarum\Group\Permission;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\User\AssertPermissionTrait;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\EmptyResponse;

class SetPermissionController implements ControllerInterface
class SetPermissionController implements RequestHandlerInterface
{
use AssertPermissionTrait;

/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->assertAdmin($request->getAttribute('actor'));

Expand Down
7 changes: 4 additions & 3 deletions src/Api/Controller/SetSettingsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,17 @@

namespace Flarum\Api\Controller;

use Flarum\Http\Controller\ControllerInterface;
use Flarum\Settings\Event\Saved;
use Flarum\Settings\Event\Serializing;
use Flarum\Settings\SettingsRepositoryInterface;
use Flarum\User\AssertPermissionTrait;
use Illuminate\Contracts\Events\Dispatcher;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\EmptyResponse;

class SetSettingsController implements ControllerInterface
class SetSettingsController implements RequestHandlerInterface
{
use AssertPermissionTrait;

Expand All @@ -46,7 +47,7 @@ public function __construct(SettingsRepositoryInterface $settings, Dispatcher $d
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->assertAdmin($request->getAttribute('actor'));

Expand Down
7 changes: 4 additions & 3 deletions src/Api/Controller/TokenController.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,16 @@
namespace Flarum\Api\Controller;

use Flarum\Http\AccessToken;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\User\Exception\PermissionDeniedException;
use Flarum\User\UserRepository;
use Illuminate\Contracts\Bus\Dispatcher as BusDispatcher;
use Illuminate\Contracts\Events\Dispatcher as EventDispatcher;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\JsonResponse;

class TokenController implements ControllerInterface
class TokenController implements RequestHandlerInterface
{
/**
* @var \Flarum\User\UserRepository
Expand Down Expand Up @@ -52,7 +53,7 @@ public function __construct(UserRepository $users, BusDispatcher $bus, EventDisp
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$body = $request->getParsedBody();

Expand Down
7 changes: 4 additions & 3 deletions src/Api/Controller/UpdateExtensionController.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@
namespace Flarum\Api\Controller;

use Flarum\Extension\ExtensionManager;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\User\AssertPermissionTrait;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\EmptyResponse;

class UpdateExtensionController implements ControllerInterface
class UpdateExtensionController implements RequestHandlerInterface
{
use AssertPermissionTrait;

Expand All @@ -37,7 +38,7 @@ public function __construct(ExtensionManager $extensions)
/**
* {@inheritdoc}
*/
public function handle(ServerRequestInterface $request)
public function handle(ServerRequestInterface $request): ResponseInterface
{
$this->assertAdmin($request->getAttribute('actor'));

Expand Down
9 changes: 5 additions & 4 deletions src/Forum/Controller/AbstractOAuth2Controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@
namespace Flarum\Forum\Controller;

use Flarum\Forum\AuthenticationResponseFactory;
use Flarum\Http\Controller\ControllerInterface;
use League\OAuth2\Client\Provider\ResourceOwnerInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\RedirectResponse;

abstract class AbstractOAuth2Controller implements ControllerInterface
abstract class AbstractOAuth2Controller implements RequestHandlerInterface
{
/**
* @var AuthenticationResponseFactory
Expand Down Expand Up @@ -46,9 +47,9 @@ public function __construct(AuthenticationResponseFactory $authResponse)

/**
* @param Request $request
* @return \Psr\Http\Message\ResponseInterface|RedirectResponse
* @return ResponseInterface
*/
public function handle(Request $request)
public function handle(Request $request): ResponseInterface
{
$redirectUri = (string) $request->getAttribute('originalUri', $request->getUri())->withQuery('');

Expand Down
9 changes: 5 additions & 4 deletions src/Forum/Controller/ConfirmEmailController.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,17 @@
namespace Flarum\Forum\Controller;

use Flarum\Foundation\Application;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\Http\SessionAuthenticator;
use Flarum\User\Command\ConfirmEmail;
use Flarum\User\Exception\InvalidConfirmationTokenException;
use Illuminate\Contracts\Bus\Dispatcher;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\HtmlResponse;
use Zend\Diactoros\Response\RedirectResponse;

class ConfirmEmailController implements ControllerInterface
class ConfirmEmailController implements RequestHandlerInterface
{
/**
* @var Dispatcher
Expand Down Expand Up @@ -52,9 +53,9 @@ public function __construct(Dispatcher $bus, Application $app, SessionAuthentica

/**
* @param Request $request
* @return \Psr\Http\Message\ResponseInterface
* @return ResponseInterface
*/
public function handle(Request $request)
public function handle(Request $request): ResponseInterface
{
try {
$token = array_get($request->getQueryParams(), 'token');
Expand Down
7 changes: 4 additions & 3 deletions src/Forum/Controller/LogInController.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,15 @@
use Flarum\Api\Client;
use Flarum\Api\Controller\TokenController;
use Flarum\Http\AccessToken;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\Http\Rememberer;
use Flarum\Http\SessionAuthenticator;
use Flarum\User\Event\LoggedIn;
use Flarum\User\UserRepository;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface;

class LogInController implements ControllerInterface
class LogInController implements RequestHandlerInterface
{
/**
* @var \Flarum\User\UserRepository
Expand Down Expand Up @@ -60,7 +61,7 @@ public function __construct(UserRepository $users, Client $apiClient, SessionAut
/**
* {@inheritdoc}
*/
public function handle(Request $request)
public function handle(Request $request): ResponseInterface
{
$actor = $request->getAttribute('actor');
$body = $request->getParsedBody();
Expand Down
9 changes: 5 additions & 4 deletions src/Forum/Controller/LogOutController.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
namespace Flarum\Forum\Controller;

use Flarum\Foundation\Application;
use Flarum\Http\Controller\ControllerInterface;
use Flarum\Http\Exception\TokenMismatchException;
use Flarum\Http\Rememberer;
use Flarum\Http\SessionAuthenticator;
Expand All @@ -21,11 +20,13 @@
use Flarum\User\Event\LoggedOut;
use Illuminate\Contracts\Events\Dispatcher;
use Illuminate\Contracts\View\Factory;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface;
use Zend\Diactoros\Response\HtmlResponse;
use Zend\Diactoros\Response\RedirectResponse;

class LogOutController implements ControllerInterface
class LogOutController implements RequestHandlerInterface
{
use AssertPermissionTrait;

Expand Down Expand Up @@ -85,10 +86,10 @@ public function __construct(

/**
* @param Request $request
* @return \Psr\Http\Message\ResponseInterface
* @return ResponseInterface
* @throws TokenMismatchException
*/
public function handle(Request $request)
public function handle(Request $request): ResponseInterface
{
$session = $request->getAttribute('session');
$actor = $request->getAttribute('actor');
Expand Down
Loading

0 comments on commit b3d45fd

Please sign in to comment.