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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在golang中傳遞http請求?

如何在golang中傳遞http請求?

Go
拉丁的傳說 2021-12-20 10:15:51
我在 golang 中有一個 Request 對象,我想通過 net.Conn 作為代理任務(wù)的一部分提供這個對象的內(nèi)容。我想打電話給類似的東西req, err := http.ReadRequest(bufio.NewReader(conn_to_client))conn_to_remote_server.Write(... ? ... )但我不知道我會傳入什么作為參數(shù)。任何意見,將不勝感激。
查看完整描述

1 回答

?
慕雪6442864

TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊

查看 Negroni 中間件。它讓您通過不同的中間件和自定義 HandlerFuncs 傳遞您的 HTTP 請求。像這樣的東西:


   n := negroni.New(

        negroni.NewRecovery(),

        negroni.HandlerFunc(myMiddleware),

        negroni.NewLogger(),

        negroni.NewStatic(http.Dir("public")),

    )


...

...


func myMiddleware(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc) {

    log.Println("Logging on the way there...")


    if r.URL.Query().Get("password") == "secret123" {

        next(rw, r)      //**<--------passing the request to next middleware/func**

    } else {

        http.Error(rw, "Not Authorized", 401)

    }


    log.Println("Logging on the way back...")

}

注意如何next(rw,r)用于傳遞 HTTP 請求


如果您不想使用 Negroni,您可以隨時查看它的實現(xiàn),了解它如何將 HTTP 請求傳遞給另一個中間件。


它使用自定義處理程序,看起來像:


handlerFunc func(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc)

參考:https : //gobridge.gitbooks.io/building-web-apps-with-go/content/en/middleware/index.html


查看完整回答
反對 回復(fù) 2021-12-20
  • 1 回答
  • 0 關(guān)注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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