Golang http 5个内置的handler

go 语言内置的5个handler  NOTFoundHandler  redirectHandler stripPrefixHandler  TimeoutHandler fileserver


func NOTFoundHandler() Handler
// 返回一个handler, 它给的每个请求的响应都是"404 page not found"

func RedirectHandler(url string ,code int) Handler {}
// 返回一个handler 他的每个请求使用给定的状态码跳转到指定的URL
 // URL 要跳转的URL  code 跳转的状态码(3xx) 常见的statusMovedPermanentrly statusFound statusseeother

 func StripPrefixHandler(prefix string, h handler)handler
 // 返回一个handler 他从请求URL 中去掉指定的前缀 然后再调用另一个handler
 // 如果请求URL 与提供的前缀不符合 那么404
 // 有点像中间件   prefix URL 将要被移除的字符串前缀
 // h 是一个handler  在移除字符串前缀之后 handker 将会接受到请求

func TimeoutHandler(h handker ,dt time.Duration ,msg string){
// 返回一个handler 他用来在指定时间内运行传入的h
// h 将要被修饰的handler
// dt 第一个handler 允许的处理时间
// msg 如果超时那么就把msg 返回给请求 表示响应时间过长

func fileserver(root FileSystem) Handler
// 返回一个handler 基于root的文件系统来响应请求
// type FileSystem struct{
// 	Open (name string)(File,error)
// }
// 使用时需要到操作系统的文件系统,所以还需要委托给 type dir string
// func(d dir)Open(name string)(File,error)


func main() {

	// http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
	// 	http.ServeFile(w, r, "www"+r.URL.Path)
	// })
	http.ListenAndServe(":8080", http.FileServer(http.Dir("www")))
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值