登录
首页 >  Golang >  Go问答

获取 Go 中 http.HandleFunc 的基本路径

来源:stackoverflow

时间:2024-03-12 10:54:26 130浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《获取 Go 中 http.HandleFunc 的基本路径》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

是否可以从 http.requesthttp.responsewriter 中的 http.handlefunc 获取基本路径作为变量(http.handlefunc 中的第一个参数)?

http.HandleFunc("/the-base-path/", func(w http.ResponseWriter, r *http.Request){
    // get "/the-base-path/" here as a variable
    ...
})

正确答案


简短回答:不。

更长的答案。

The function that serves requests is

func (mux *ServeMux) ServeHTTP(w ResponseWriter, r *Request) {
    if r.RequestURI == "*" {
        if r.ProtoAtLeast(1, 1) {
            w.Header().Set("Connection", "close")
        }
        w.WriteHeader(StatusBadRequest)
        return
    }
    h, _ := mux.Handler(r)
    h.ServeHTTP(w, r)
}

查找请求处理程序的函数 mux.Handler 返回处理程序和相应的模式(又名 "/the-base-path/"

但是正如您所看到的,mux.servehttp 丢弃 mux.handler 返回的模式。处理程序没有直接的方法来识别与请求匹配的模式。

终于介绍完啦!小伙伴们,这篇关于《获取 Go 中 http.HandleFunc 的基本路径》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>