golang 如何重写http 请求处理

来源:互联网 发布:女大十八变知乎 编辑:程序博客网 时间:2024/06/05 17:18

在某些特殊的情况。golang 内置包的 http 处理满足不了我们的需求。那么我们就需要自己重写一个对应的请求

那么应该怎么去写这个东西。

我们需要重写golang net/http 包的 Handler interface

很简单的一个接口

type Handler interface {ServeHTTP(ResponseWriter, *Request)}

可以看出。我们这边只需要 实现这个 ServeHTTP 方法就好了

测试代码是这样的

package mainimport ("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) {//获取访问的urllog.Println(req.URL.String())}

写完直接启动就可以了。

我这边没有加什么很 厉害的功能 只是输出对应的 访问url

0 0