Skip to content

Goのnet/httpでメソッド付きと無しパターンが複数マッチするとpanicが発生する

例えばこういった場合

mux.Handle("GET /", indexHandler)
mux.Handle("/files/", fileHandler)

このとき /file/ の方が長くマッチするけれど、GET / の方がメソッドを限定するので判断ができなくなるらしい。

panic: pattern "/files/" (registered at xxx) conflicts with pattern "GET /" (registered at xxx):
/files/ matches more methods than GET /, but has a more specific path pattern

BufのConnectを使うときに、Connectが設定するエンドポイントはメソッドを付けないが、自作のエンポイントでメソッドを限定して刺さった。