mirror of
https://github.com/flarum/core.git
synced 2025-07-23 17:51:24 +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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user