golang 如何重寫http 請求處理
阿新 • • 發佈:2019-01-29
在某些特殊的情況。golang 內建包的 http 處理滿足不了我們的需求。那麼我們就需要自己重寫一個對應的請求
那麼應該怎麼去寫這個東西。
我們需要重寫golang net/http 包的 Handler interface
很簡單的一個介面
type Handler interface {
ServeHTTP(ResponseWriter, *Request)
}
可以看出。我們這邊只需要 實現這個 ServeHTTP 方法就好了
測試程式碼是這樣的
package main import ( "log" "net/http" ) type HttpTest struct { } func main() { //監聽8080 埠。重寫Handler 介面 請求處理方法 log.Fatal(http.ListenAndServe(":8080", HttpTest{})) } func (this HttpTest) ServeHTTP(w http.ResponseWriter, req *http.Request) { //獲取訪問的url log.Println(req.URL.String()) }
寫完直接啟動就可以了。
我這邊沒有加什麼很 厲害的功能 只是輸出對應的 訪問url