为了账号安全,请及时绑定邮箱和手机立即绑定

在Go的http库中自定义现有处理程序

在Go的http库中自定义现有处理程序

Go
梦里花落0921 2021-04-09 13:14:03
如http库中所述,定义了以下内容:func Handle(pattern string, handler Handler) type Handler interface { ServeHTTP(*Conn, *Request) }我如何websocket.Draft75Handler通过给它一个附加的参数(并告诉它如何处理该参数)来改进现有的处理程序(例如)?我正在尝试创建一个在其中包含一个通道一端的处理程序。它将使用该频道与程序的其他部分进行对话。我怎样才能使该通道进入处理程序函数?抱歉,这是一个愚蠢的问题。我是新手,因此决定通过阅读教程来学习,然后直接跳入代码。谢谢你的帮助!
查看完整描述

1 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

如果类型是函数(如)websocket.Draft75Handler,则可以将其包装在闭包中:


func MyHandler(arg interface{}) websocket.Draft75Handler {

    return func(c *http.ConnConn) {

        // handle request

    }

}


func main() {

    http.Handle("/echo", MyHandler("argument"))

    err := http.ListenAndServe(":12345", nil)

    if err != nil {

        panic("ListenAndServe: " + err.String())

    }

}


查看完整回答
反对 回复 2021-04-26
  • 1 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信