<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [概述] dotweb.go是dotweb的入口類,它提供了dotweb實例的創建、配置及管理。它封裝了dotweb對象,并提供了異常處理、緩存配置等函數。 [索引] 常量 type Dotweb func New() func (app *DotWeb) RegisterMiddlewareFunc(name string, middleFunc MiddlewareFunc) [常量] `` const( DefaultHTTPPort //默認的端口號,值為8080 RunMode_Development = "development" RunMode_Production = "production" ) `` [type Dotweb] ~~~ type ( DotWeb struct { HttpServer *HttpServer //server對象 cache cache.Cache //cache對象 OfflineServer servers.Server Config *config.Config //config對象 Middlewares []Middleware //中間件 ExceptionHandler ExceptionHandle //異常處理 NotFoundHandler StandardHandle // NotFoundHandler 支持自定義404處理代碼能力 MethodNotAllowedHandler StandardHandle // 處理未允許Method提交的請求 AppContext *core.ItemContext //請求級的上下文域 middlewareMap map[string]MiddlewareFunc middlewareMutex *sync.RWMutex } // ExceptionHandle 支持自定義異常處理代碼能力 ExceptionHandle func(Context, error) // StandardHandle 標準處理函數,需傳入Context參數 StandardHandle func(Context) // Handle is a function that can be registered to a route to handle HTTP // requests. Like http.HandlerFunc, but has a special parameter Context contain all request and response data. HttpHandle func(Context) error ) ~~~ [func New()] `` app := dotweb.New() `` 獲取一個新的dotweb對象。 [func (app *DotWeb) RegisterMiddlewareFunc(name string, middleFunc MiddlewareFunc)] `` app := dotweb.New() app.RegisterMiddlewareFunc("jwt", jwt.Middleware(jwt.DefaultJWTConfig) `` 注冊一個名為“jwt”的中間件,關于中間件請訪問[middleware](https://github.com/devfeel/middleware)。 [func (app *Dotweb) GetMiddlewareFunc] ~~~ app := dotweb.New() m, e := app.GetMiddlewareFunc("jwt")//若中間件存在e為true,若不存在則為false,m為nil值。 ~~~ 根據name獲取中間件函數。 [func (app *Dotweb) Cache] ~~~ app := dotweb.New() c := app.Cache() ~~~ 獲取Cache緩存對象。 [func (app *Dotweb) SetCache] ~~~ app := dotweb.New() app.SetCache(cache.NewRuntimeCache())//使用本機內存緩存 ~~~ 設置緩存方式,dotweb默認提供Runtime和Redis兩種方式,可以自行擴展別的方式。 [func (app *DotWeb) RunMode(] ~~~ app := dotweb.New() app.RunMode()//development ~~~ 獲取dotweb運行模式,具有development以及production兩種模式。前者表示開發模式,后者表示生產模式,開發模式會打印詳細的異常信息。 [func (app *DotWeb) IsDevelopmentMode] ~~~ app := dotweb.New() app.IsDevelopmentMode()//true ~~~ 判斷運行模式是否是開發模式,dotweb默認值是開發模式。 [func (app *DotWeb) SetDevelopmentMode] ~~~ app := dotweb.New() app.SetDevelopmentMode() ~~~ 將dotweb運行模式設置為development(開發模式),大部分情況下你不用使用此設置,因為它是默認設置。 [func (app *DotWeb) SetProductionMode] ~~~ app := dotweb.New() app.SetProductionMode() ~~~ 將dotweb運行模式設置為production(生產模式)。 [func (app *DotWeb) Use] ~~~ app := dotweb.New() m := &[5]Middleware app.Use(m) ~~~ 注冊中間件。需要注意的是它接收一個可變長度參數,注意這個“可變參數”在代碼中表示“...”,由于翻譯問題也有叫它多變參數的,它們表示的是同一個意思。 [func (app *DotWeb) UseRequestLog] ~~~ app := dotweb.New() app.UseRequestLog() ~~~ 使用dotweb提供的Requestlog中間件。 [func (app *DotWeb) SetExceptionHandle] ~~~ func ExceptionHandler(c dotweb.Context, e error){//...} app := dotweb.New() app.SetExceptionHandle(ExceptionHandler) ~~~ 設置異常處理程序。 [func (app *DotWeb) SetNotFoundHandle] ~~~ func NotFoundHandler(c dotweb.Context){//...} app := dotweb.New() app.SetNotFoundHandle(NotFoundHandler) ~~~ 設置404處理程序。 [func (app *DotWeb) SetMethodNotAllowedHandle] ~~~ func MethodNotAllowedHandler(c dotweb.Context){//...} app := dotweb.New() app.SetMethodNotAllowedHandle(MethodNotAllowedHandler) ~~~ 設置被禁用的請求方法請求處理,比如一個請求只允許Post請求方法,如果用Get方法請求則被視為違規請求,此請求將被MethodNotAllowedHandle處理。 [func (app *DotWeb) SetPProfConfig] ~~~ app := dotweb.New() app.SetPProfConfig(true, 8050) ~~~ 設置是否啟用PProf并設置端口號,默認是禁用狀態。我們使用PProf服務來查詢dotweb狀態。 [func (app *DotWeb) SetLogger] ~~~ app := dotweb.New() app.SetEnabledLog(true)//是否啟用日志 app.SetLogPath(file.GetCurrentDirectory())//設置日志目錄,GetCurrentDirectory表示獲取當前項目目錄 app.SetLogger(logger.Logger()) ~~~ 設置日志處理對象,dotweb默認提供logger.AppLog。 [func (app *DotWeb) SetConfig] ~~~ app := dotweb.New() app.InitConfig(file.GetCurrentDirectory() + "/dotweb.json.conf", "json") ~~~ 加載dotweb配置,dotweb配置可以通過代碼設置之外還可以通過配置文件加載的方式。dotweb支持xml文件和json文件加載,一個dotweb實例只能使用一種文件配置方式,詳細請參考[dotweb-Config](https://github.com/devfeel/dotweb-example/tree/master/config)或是閱讀dotweb源碼。 [func (app *DotWeb) StartServer] ~~~ app := dotweb.New() app.StartServer(8080) ~~~ 啟動dotweb服務,并設置端口號。 [func (app *DotWeb) Start] ~~~ app := dotweb.New() app.Start() ~~~ 啟動dotweb服務,它和StartServer區別是:你加載config文件之后直接啟動服務,只需要在config文件里設置好一切配置。如果未設定端口號,它將使用dotweb默認端口號。 [func (app *DotWeb) MustStart] ~~~ app := dotweb.New() app.MustStart() ~~~ 仍然是啟動dotweb服務,它調用Start函數。與Start不同的是,如果在啟動時出現了配置錯誤會引發Panic。 [func (app *DotWeb) ListenAndServe] ~~~ app := dotweb.New() app.ListenAndServe(8080)//8080是端口號 ~~~ 還是啟動dotweb服務,不過ListenAndServer只會啟動dotweb服務不會啟動pprof服務。 [func (app *DotWeb) DefaultHTTPErrorHandler] [func (app *DotWeb) DefaultNotFoundHandler] [func (app *DotWeb) DefaultMethodNotAllowedHandler] 以上三個函數是dotweb提供的默認處理程序,針對SetExceptionHandle、SetNotFoundHandle、SetMethodNotAllowedHandle三個異常處理程序。 [func (app *DotWeb) Close] ~~~ app := dotweb.New() app.Close() ~~~ 立即關閉并停止dotweb服務。 [func (app *DotWeb) Shutdown] ~~~ app := dotweb.New() app.Shutdown(app.HttpServer.pool.context.Get().(HttpContext).context) ~~~ 關閉并停止dotweb服務,與Close立即停止服務不同的是,Shutdown會等待活動連接停止活動后關機。詳細可查詢Shutdown與Close的區別。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看