| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- /**
- * 跨域中间件.
- *
- * @author nj <nj@gmail.com>
- * @date 2019-11-03 14:50:03
- */
- declare(strict_types=1);
- namespace Modules\Manage\Middlewares;
- use App\Constants\ManageConstant;
- 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,' . ManageConstant::HANDSHAKE_HEADER);
- Context::set(ResponseInterface::class, $response);
- if ($request->getMethod() == 'OPTIONS') {
- return $response;
- }
- return $handler->handle($request);
- }
- }
|