mirror of
https://github.com/flarum/core.git
synced 2025-08-18 14:22:02 +02:00
Upgrade Zend Diactoros to 1.1
This gives us a bunch of handy helper classes for empty responses, redirects, HTML and JSON content types. Closes flarum/core#153
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<?php namespace Flarum\Api\Actions;
|
||||
|
||||
use Flarum\Api\Request;
|
||||
use Zend\Diactoros\Response;
|
||||
use Zend\Diactoros\Response\EmptyResponse;
|
||||
|
||||
abstract class DeleteAction extends JsonApiAction
|
||||
{
|
||||
@@ -16,7 +16,7 @@ abstract class DeleteAction extends JsonApiAction
|
||||
{
|
||||
$this->delete($request);
|
||||
|
||||
return new Response('php://memory', 204);
|
||||
return new EmptyResponse(204);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -1,10 +1,10 @@
|
||||
<?php namespace Flarum\Api\Actions;
|
||||
|
||||
use Flarum\Api\Request;
|
||||
use Flarum\Api\Actions\JsonApiAction;
|
||||
use Flarum\Core\Repositories\UserRepositoryInterface;
|
||||
use Flarum\Core\Commands\RequestPasswordResetCommand;
|
||||
use Illuminate\Contracts\Bus\Dispatcher;
|
||||
use Zend\Diactoros\Response\EmptyResponse;
|
||||
|
||||
class ForgotAction extends JsonApiAction
|
||||
{
|
||||
@@ -32,6 +32,6 @@ class ForgotAction extends JsonApiAction
|
||||
new RequestPasswordResetCommand($email)
|
||||
);
|
||||
|
||||
return $this->json();
|
||||
return new EmptyResponse();
|
||||
}
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@ use Flarum\Api\Request;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
use Flarum\Core\Exceptions\ValidationFailureException;
|
||||
use Flarum\Core\Exceptions\PermissionDeniedException;
|
||||
use Zend\Diactoros\Response;
|
||||
use Zend\Diactoros\Response\JsonResponse;
|
||||
|
||||
abstract class JsonApiAction implements ActionInterface
|
||||
{
|
||||
@@ -27,28 +27,14 @@ abstract class JsonApiAction implements ActionInterface
|
||||
'path' => $field
|
||||
];
|
||||
}
|
||||
return $this->json(['errors' => $errors], 422);
|
||||
return new JsonResponse(['errors' => $errors], 422);
|
||||
} catch (PermissionDeniedException $e) {
|
||||
return $this->json(null, 401);
|
||||
return new JsonResponse(null, 401);
|
||||
} catch (ModelNotFoundException $e) {
|
||||
return $this->json(null, 404);
|
||||
return new JsonResponse(null, 404);
|
||||
}
|
||||
}
|
||||
|
||||
protected function json($data = null, $status = 200)
|
||||
{
|
||||
if ($data === null) {
|
||||
$data = new \ArrayObject();
|
||||
}
|
||||
|
||||
$data = json_encode($data, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_AMP | JSON_HEX_QUOT);
|
||||
|
||||
$response = new Response('php://memory', $status);
|
||||
$response->getBody()->write($data);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle an API request and return an API response.
|
||||
*
|
||||
|
@@ -6,6 +6,7 @@ use Flarum\Core\Repositories\UserRepositoryInterface;
|
||||
use Flarum\Core\Exceptions\PermissionDeniedException;
|
||||
use Flarum\Core\Events\UserEmailChangeWasRequested;
|
||||
use Illuminate\Contracts\Bus\Dispatcher;
|
||||
use Zend\Diactoros\Response\JsonResponse;
|
||||
|
||||
class TokenAction extends JsonApiAction
|
||||
{
|
||||
@@ -39,7 +40,7 @@ class TokenAction extends JsonApiAction
|
||||
|
||||
if (! $user->is_activated) {
|
||||
event(new UserEmailChangeWasRequested($user, $user->email));
|
||||
return $this->json([
|
||||
return new JsonResponse([
|
||||
'code' => 'confirm_email',
|
||||
'email' => $user->email
|
||||
], 401);
|
||||
@@ -49,7 +50,7 @@ class TokenAction extends JsonApiAction
|
||||
new GenerateAccessTokenCommand($user->id)
|
||||
);
|
||||
|
||||
return $this->json([
|
||||
return new JsonResponse([
|
||||
'token' => $token->id,
|
||||
'userId' => $user->id
|
||||
]);
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Zend\Diactoros\Response\StringResponse;
|
||||
use Zend\Diactoros\Response\JsonResponse;
|
||||
use Zend\Stratigility\ErrorMiddlewareInterface;
|
||||
|
||||
class JsonApiErrors implements ErrorMiddlewareInterface
|
||||
@@ -31,6 +31,6 @@ class JsonApiErrors implements ErrorMiddlewareInterface
|
||||
'errors' => [$errorObject]
|
||||
];
|
||||
|
||||
return StringResponse::json($data, $status);
|
||||
return new JsonResponse($data, $status);
|
||||
}
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@ use Flarum\Api\Client;
|
||||
use Flarum\Forum\Events\UserLoggedIn;
|
||||
use Flarum\Core\Repositories\UserRepositoryInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Zend\Diactoros\Response;
|
||||
use Zend\Diactoros\Response\EmptyResponse;
|
||||
|
||||
class LoginAction extends BaseAction
|
||||
{
|
||||
@@ -40,7 +40,7 @@ class LoginAction extends BaseAction
|
||||
$data->token
|
||||
);
|
||||
} else {
|
||||
return new Response('php://memory', 401);
|
||||
return new EmptyResponse(401);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
use Psr\Http\Message\ResponseInterface as Response;
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Zend\Diactoros\Response\StringResponse;
|
||||
use Zend\Diactoros\Response\HtmlResponse;
|
||||
use Zend\Stratigility\ErrorMiddlewareInterface;
|
||||
|
||||
class HandleErrors implements ErrorMiddlewareInterface
|
||||
@@ -30,7 +30,7 @@ class HandleErrors implements ErrorMiddlewareInterface
|
||||
|
||||
$errorPage = $this->getErrorPage($status);
|
||||
|
||||
return StringResponse::html($errorPage, $status);
|
||||
return new HtmlResponse($errorPage, $status);
|
||||
}
|
||||
|
||||
protected function getErrorPage($status)
|
||||
|
@@ -2,7 +2,8 @@
|
||||
|
||||
use Illuminate\Contracts\Bus\Dispatcher;
|
||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||
use Zend\Diactoros\Response;
|
||||
use Zend\Diactoros\Response\EmptyResponse;
|
||||
use Zend\Diactoros\Response\RedirectResponse;
|
||||
|
||||
abstract class Action
|
||||
{
|
||||
@@ -22,7 +23,7 @@ abstract class Action
|
||||
|
||||
protected function success()
|
||||
{
|
||||
return new Response();
|
||||
return new EmptyResponse();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -44,7 +45,7 @@ abstract class Action
|
||||
</body>
|
||||
</html>', htmlspecialchars($url, ENT_QUOTES, 'UTF-8'));
|
||||
|
||||
$response = new Response('php://memory', 302, ['location' => $url]);
|
||||
$response = new RedirectResponse($url);
|
||||
$response->getBody()->write($content);
|
||||
|
||||
return $response;
|
||||
|
Reference in New Issue
Block a user