0
点赞
收藏
分享

微信扫一扫

go学习 --- web实现中间件功能

有态度的萌狮子 2022-01-31 阅读 64

一、中间件的实现

package main

import (
	"fmt"
	"net/http"
)

//定义一个结构体
type HelloHandler struct {}
//给结构体绑定一个方法
func (hh *HelloHandler) ServeHTTP(w http.ResponseWriter,r *http.Request)  {
	fmt.Fprintln(w,"你好呀!")
}
//定义一个函数.实现中间件功能
func logHandler(h http.Handler) http.Handler  {
	handlerFunc := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		fmt.Printf("%T\n", h)
		h.ServeHTTP(w, r)
	})
	return handlerFunc
}
func main() {
	handler := &HelloHandler{}
	http.Handle("/hi",handler)
	http.ListenAndServe(":8080",nil)

}

 

举报

相关推荐

0 条评论