| 123456789101112131415161718192021222324252627282930313233343536373839 |
- <?php
- /**
- * 描述.
- *
- * @author nj <nj@gmail.com>
- * @date 2019-11-03 14:50:03
- */
- declare(strict_types=1);
- namespace Modules\Api\Middlewares;
- use Hyperf\HttpServer\Contract\RequestInterface;
- use Hyperf\Utils\Context;
- use Psr\Container\ContainerInterface;
- use Psr\Http\Message\ResponseInterface;
- use Psr\Http\Message\ServerRequestInterface;
- use Psr\Http\Server\MiddlewareInterface;
- use Psr\Http\Server\RequestHandlerInterface;
- class CorsMiddleware implements MiddlewareInterface
- {
- public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
- {
- $response = response();
- $response = $response->withHeader('Access-Control-Allow-Origin', '*')
- ->withHeader('Access-Control-Allow-Credentials', 'true')
- ->withHeader('Access-Control-Max-Age', 1728000)
- ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS')
- ->withHeader('Access-Control-Allow-Headers', 'AUTH-TOKEN,X-TOKEN,AUTH-PASSPORT-TOKEN,DNT,Keep-Alive,User-Agent,Cache-Control,Content-Type,Authorization');
- Context::set(ResponseInterface::class, $response);
- if ($request->getMethod() == 'OPTIONS') {
- return $response;
- }
- return $handler->handle($request);
- }
- }
|