Middlewares

Introduction

Middleware either does configuration work or blocks the request when certain conditions aren't met. Requests are blocked by exceptions. By using exceptions we catch all unintended requests and handle them in a consistent way. Read more on exceptions.

NotFoundMiddleware

Throws a new Prest\Exception\Http\NotFoundException with Prest\Constants\ErrorCodes code when an endpoint does not exist (on Phalcon's beforeNotFound event).

use Prest\Middleware\NotFoundMiddleware;

$api->attach(new NotFoundMiddleware());

AuthenticationMiddleware

Authenticates a session token that either has been passed as a query parameter ?token or as an Authorization header with prefixed by Bearer. Throws a new Prest\Exception\AuthException with Prest\Constants\ErrorCodes::AUTH_TOKEN_INVALID code when an invalid token has been passed or with Prest\Constants\ErrorCodes::AUTH_SESSION_EXPIRED code when an expired token has been passed.

use Prest\Middleware\AuthenticationMiddleware;

$api->attach(new AuthenticationMiddleware());

AuthorizationMiddleware

Throws a new Prest\Exception\AuthorizationException with Prest\Constants\ErrorCodes::ACCESS_DENIED when the endpoint is not authorized (ex. excluded for this particular user).

use Prest\Middleware\AuthorizationMiddleware;

$api->attach(new AuthorizationMiddleware());

FractalMiddleware

Configures which includes need to be included in responses managed by the Fractal Manager service.

use Prest\Middleware\FractalMiddleware;

$api->attach(new FractalMiddleware());

CorsMiddleware

Allows all origins provided to make CORS (Cross-origin resource sharing) requests.

use Prest\Middleware\CorsMiddleware;

$api->attach(new CorsMiddleware([
  'acme.com',
  'acme.net',
]);

Wildcard can also be used:

$api->attach(new CorsMiddleware(['*']);

OptionsResponseMiddleware

Responds to all OPTION (preflight) requests with a 200 OKresponse.

use Prest\Middleware\OptionsResponseMiddleware;

$api->attach(new OptionsResponseMiddleware());

RequestIdMiddleware

Add a unique X-Request-Id header to each request for logging and debugging purposes.

use Prest\Middleware\RequestIdMiddleware;

$api->attach(new RequestIdMiddleware());

UrlQueryMiddleware

Updates the global query by parsing url query syntax. Read more on URL Query Syntax.

results matching ""

    No results matching ""