第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

高朗 socket.io 中間件

高朗 socket.io 中間件

Go
偶然的你 2022-08-24 10:48:03
是否有用于事件處理程序的中間件的實(shí)現(xiàn)?socket.iohttps://github.com/googollee/go-socket.io例如io.OnEvent("/", "myEvent", myMiddleware(func(con socketio.Conn) {  /* my code */}))
查看完整描述

2 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

這實(shí)際上取決于您想用這種中間件做什么。


您始終可以編寫一個(gè)“介于”另一個(gè)函數(shù)和實(shí)際處理程序之間的函數(shù),該函數(shù)可以按照您建議的方式使用:


func myMiddleware(next func(socketio.Conn) error) func(socketio.Conn) error {

    return func(conn socketio.Conn) error {

        

        // Do some kind of logic in the middleware...

        fmt.Println("Middleware!")

        

        // Now we call the actual function

        return next(conn)       

    }

}

然后可以根據(jù)需要使用它,例如:


io.OnEvent("/", "myEvent", myMiddleware(func(con socketio.Conn) error {

    fmt.Println("Handler func!")

    return nil 

}))

當(dāng)收到時(shí),這將首先運(yùn)行中間件(打印“中間件!”),然后運(yùn)行包裝函數(shù)(因?yàn)樵谥虚g件中調(diào)用)。myEventnext


查看完整回答
反對(duì) 回復(fù) 2022-08-24
?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

您可以使用此模塊 https://github.com/fakundo/go-middleware


事件處理程序:


io.OnEvent("/", "some-event", requireAuth(func(s socketio.Conn) {

  // some event handler code

}))

中間件:


var requireAuth = middleware.Create(func(s socketio.Conn, next func()) {

  if authorized(s) {

    next()

  } else {

    s.emit("error", AuthError)

  }

})


查看完整回答
反對(duì) 回復(fù) 2022-08-24
  • 2 回答
  • 0 關(guān)注
  • 141 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)