亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

onRequest 事件(即收到請求事件)

使用場景及原理

EasySwoole 收到任何的 HTTP 請求時,均會執行該事件。可以使用該事件可以對 HTTP 請求全局攔截,包括對請求進行允許跨域等操作。

使用方式說明

框架對 onRequest 事件的實現在 3.4.x 及以后的版本 中做了新的改動,實現方式由原來舊版本在主服務創建事件(mainServerCreate 事件)中定義改變為在 initialize 事件 中使用 Di 方式注入。目前最新穩定版本框架(3.4.x),具體實現及使用方式 (在 EasySwooleEvent.php 中的 initialize 事件中注入) 如下:

<?php

namespace EasySwoole\EasySwoole;

use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\EasySwoole\Swoole\EventRegister;

class EasySwooleEvent implements Event
{
    public static function initialize()
    {
        date_default_timezone_set('Asia/Shanghai');

        // 實現 onRequest 事件
        \EasySwoole\Component\Di::getInstance()->set(\EasySwoole\EasySwoole\SysConst::HTTP_GLOBAL_ON_REQUEST, function (\EasySwoole\Http\Request $request, \EasySwoole\Http\Response $response): bool {
            ###### 對請求進行攔截 ######
            // 不建議在這攔截請求,可增加一個控制器基類進行攔截
            // 如果真要攔截,判斷之后 return false; 即可
            /*
            $code = $request->getRequestParam('code');
            if (0){ // empty($code)驗證失敗
                $data = array(
                    "code" => \EasySwoole\Http\Message\Status::CODE_BAD_REQUEST,
                    "result" => [],
                    "msg" => '驗證失敗'
                );
                $response->write(json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
                $response->withHeader('Content-type', 'application/json;charset=utf-8');
                $response->withStatus(\EasySwoole\Http\Message\Status::CODE_BAD_REQUEST);
                return false;
            }
            return true;
            */

            ###### 處理請求的跨域問題 ######
            $origin = $request->getHeaderLine('origin') ?: '*';
            $response->withHeader('Access-Control-Allow-Origin', $origin);
            $response->withHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
            $response->withHeader('Access-Control-Allow-Credentials', 'true');
            $response->withHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With, token');
            if ($request->getMethod() === 'OPTIONS') {
                $response->withStatus(\EasySwoole\Http\Message\Status::CODE_OK);
                return false;
            }

            return true;
        });
    }

    public static function mainServerCreate(EventRegister $register)
    {

    }
}

舊版本(3.4.x 之前版本)框架的 onRequest 事件的實現如下所示:

<?php

namespace EasySwoole\EasySwoole;

use EasySwoole\EasySwoole\Swoole\EventRegister;
use EasySwoole\EasySwoole\AbstractInterface\Event;
use EasySwoole\Http\Request;
use EasySwoole\Http\Response;

class EasySwooleEvent implements Event
{
    public static function initialize()
    {
        // TODO: Implement initialize() method.
        date_default_timezone_set('Asia/Shanghai');
    }

    public static function mainServerCreate(EventRegister $register)
    {

    }

    // 注冊 onRequest 事件回調
    public static function onRequest(Request $request, Response $response): bool
    {
        ###### 對請求進行攔截 ######
        // 不建議在這攔截請求,可增加一個控制器基類進行攔截
        // 如果真要攔截,判斷之后 return false; 即可
        /*
        $code = $request->getRequestParam('code');
        if (0){ // empty($code)驗證失敗
            $data = array(
                "code" => \EasySwoole\Http\Message\Status::CODE_BAD_REQUEST,
                "result" => [],
                "msg" => '驗證失敗'
            );
            $response->write(json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES));
            $response->withHeader('Content-type', 'application/json;charset=utf-8');
            $response->withStatus(\EasySwoole\Http\Message\Status::CODE_BAD_REQUEST);
            return false;
        }
        return true;
        */

        ###### 處理請求的跨域問題 ######
        $origin = $request->getHeaderLine('origin') ?: '*';
        $response->withHeader('Access-Control-Allow-Origin', $origin);
        $response->withHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
        $response->withHeader('Access-Control-Allow-Credentials', 'true');
        $response->withHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With, token');
        if ($request->getMethod() === 'OPTIONS') {
            $response->withStatus(\EasySwoole\Http\Message\Status::CODE_OK);
            return false;
        }
        return true;
    }
}

注意事項

若在該事件中,執行 $response->end(),則該次請求不會進入路由匹配階段。

亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    7777精品伊久久久大香线蕉语言| 欧美在线视频二区| 亚洲小说欧美另类婷婷| 日本免费高清一区| 国产富婆一区二区三区| 亚洲一区二区三区高清不卡| 欧美激情视频一区二区三区在线播放| 精品91免费| 国产在线一区二| 91香蕉视频在线下载| 性伦欧美刺激片在线观看| 亚洲激情成人| 亚洲国产精品日韩| 亚洲天堂激情| 亚洲视屏一区| 日韩视频中文| 日韩视频免费| 亚洲影音先锋| 亚洲欧美久久| 91手机在线播放| 国产精品区一区| 国产一区二区精品在线| 丁香婷婷久久久综合精品国产| 久久国产精品亚洲77777| 亚洲一区免费看| 久久久久高清| 不卡一区二区三区四区五区| 99re在线观看| 狠狠色伊人亚洲综合网站色| 九九九九九精品| 欧美自拍资源在线| 亚洲免费精品视频| 欧美精品播放| 一本色道久久综合| 99c视频在线| 久久青青草原一区二区| 日韩精品一区二区三区色偷偷| 少妇精品久久久久久久久久| 亚洲欧美日韩国产成人综合一二三区| 亚洲国产午夜伦理片大全在线观看网站 | 牛人盗摄一区二区三区视频| 欧美日韩一区综合| 亚洲一区不卡在线| 精品动漫3d一区二区三区免费| 1000部精品久久久久久久久| 亚洲欧美国产不卡| 九9re精品视频在线观看re6 | 亚洲午夜在线观看| 亚洲综合社区| 欧美福利一区二区三区| 中文字幕久久综合| 在线综合欧美| 精品日韩欧美| 欧美三级不卡| 久久高清一区| 热re99久久精品国99热蜜月| 欧美另类女人| 久久综合图片| 一区二区三区四区在线视频| 一区二区三区四区五区在线 | 欧美一区二区三区在线播放| 欧美精品三区| 国产91亚洲精品一区二区三区| 先锋在线资源一区二区三区| 一区二区欧美日韩| 裸体丰满少妇做受久久99精品 | 日韩久久久久久久| 中文一区在线| 日本一区二区三区免费观看| 亚洲精一区二区三区| 久久国产精品亚洲va麻豆| 国产精品v欧美精品v日韩精品| 久久久久久一区二区| 亚洲综合首页| 国产精品99久久久久久久| 欧美91大片| 精品欧美一区二区在线观看视频| 激情综合自拍| 日本在线成人一区二区| 国产伦精品一区二区三区四区免费 | 婷婷精品国产一区二区三区日韩| 国产精品免费一区二区三区在线观看 | 亚洲区一区二| 亚洲巨乳在线观看| 99中文视频在线| 一区在线视频观看| 日韩精品久久久免费观看| 久久久久久夜| 国产精品乱子乱xxxx| 中日韩在线视频| 久久精品二区| 成人av免费看| 亚洲欧美日韩精品一区二区| 女人天堂亚洲aⅴ在线观看| 久久久久久艹| 国产精品一区二区三区免费| 中文精品视频一区二区在线观看| 亚洲精品成人三区| 欧美亚洲爱爱另类综合| 国产精品视频一区二区三区经| 国产欧美日本在线| 亚洲午夜精品久久| 欧美精品一区二区三区在线看午夜 | 激情视频一区二区| 97中文在线观看| 亚洲深夜福利| 亚洲精品一区二区三区av| 中文字幕一区二区三区四区五区六区| 久久99精品久久久久久青青日本| 7777精品久久久大香线蕉小说| 国产一区二区黄色| 一区二区三区精品国产| 日韩视频一区| 一区二区动漫| 亚洲一区二区三区涩| 在线午夜精品| 亚洲欧美清纯在线制服| 亚洲欧美视频| 久久综合五月| 国产在线精品一区二区三区| 国产精品久久久久久久久久久久午夜片| 午夜影院日韩| av色综合网| 国产精品一区二区三区精品| 国内精品视频在线播放| 精品在线一区| 欧美连裤袜在线视频| 日韩欧美亚洲日产国| 一区二区日本| 黄色av日韩| 国产精品久久久一区二区| 美女黄色成人网| 国产精品国产亚洲精品看不卡15| 国产伦精品一区二区三区高清版| 国产精品jizz视频| 日韩av在线电影观看| 一区二区三区av| 最新成人av网站| 久久国产日韩欧美| 精品欧美日韩在线| 中文字幕欧美日韩一区二区| 亚洲天堂偷拍| 久久久久九九九| 免费在线成人av| 好看的日韩av电影| 性高湖久久久久久久久| 久久国产精品久久| 国产精品chinese| 久久婷婷丁香| 日韩av图片| 一区二区高清| 老司机精品福利在线观看| 欧美日本韩国在线| 久久久精品日韩| 五月天综合网| 欧美在线网站| 好吊色欧美一区二区三区四区 | 中文字幕一区二区三区乱码 | 亚洲免费播放| 日本中文不卡| 国产一区二区精品免费| 一本一道久久综合狠狠老精东影业 | 日本不卡高清视频一区| 91传媒视频在线观看| 最新亚洲视频| 欧美久色视频| 色狠狠久久av五月综合| 国产综合18久久久久久| 91嫩草免费看| 久久riav二区三区| 野花国产精品入口| 伊人久久亚洲热| 国产精品黄色| 欧美福利网址| 欧美激情aⅴ一区二区三区| 日韩免费一区二区三区| 麻豆成人在线播放| 国产日韩二区| 精品国产乱码久久久久久久软件 | 免费在线成人av| 国产一区二区不卡视频| 国产精品一码二码三码在线| 免费久久99精品国产自在现线 | 免费中文字幕日韩欧美| 国产欧美一区二区三区另类精品| 激情国产一区| 国产精品v欧美精品v日韩精品| 欧美暴力喷水在线| 欧美另类专区| 精品电影一区| 夜夜爽www精品| 噜噜噜久久亚洲精品国产品小说| 国产日韩欧美一区二区三区在线观看 | 91久久大香伊蕉在人线| 97se亚洲综合| 九九九九精品九九九九| 日本不卡二区高清三区| 亚洲精品9999| 激情综合在线| 麻豆av一区二区三区久久|