| 123456789101112131415161718192021222324252627 |
- <?php
- namespace Middlewares;
- use Psr\Http\Message\ServerRequestInterface;
- use React\Http\Message\Response;
- class CorsControl
- {
- public function __invoke(ServerRequestInterface $request, $next)
- {
- if ($request->getMethod() === 'OPTIONS') {
- return new Response(204);
- }
- if (is_string($next) && class_exists($next)) {
- $instance = new $next();
- if (is_callable($instance)) {
- $next = $instance;
- } else {
- throw new \RuntimeException("Controller “{$next}” não é callable");
- }
- }
- return $next($request);
- }
- }
|