WxMiddleware.php 749 B

12345678910111213141516171819202122232425
  1. <?php
  2. namespace app\middleware;
  3. use Webman\Http\Request;
  4. use Webman\Http\Response;
  5. use Webman\MiddlewareInterface;
  6. class WxMiddleware implements MiddlewareInterface
  7. {
  8. public function process(Request $request, callable $handler): Response
  9. {
  10. try {
  11. $controller = new \ReflectionClass($request->controller);
  12. $noNeedLogin = $controller->getDefaultProperties()['noNeedLogin']??[];
  13. if (empty($noNeedLogin) || !in_array($request->action, $noNeedLogin)) {
  14. }
  15. } catch (\ReflectionException $exception) {
  16. return json(['code'=> 500,'msg'=> $exception->getMessage()]);
  17. }
  18. return $request->method() == 'OPTIONS' ? response('',204) : $handler($request);
  19. }
  20. }