在某些特殊的情况。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
转载请注明原文地址: https://ju.6miu.com/read-20828.html