rav*_*en8 1 slash named-parameters go gorilla
这是我的处理程序:
router.HandleFunc("/g/{gparam:.*}", MyHandler)
Run Code Online (Sandbox Code Playgroud)
但是当我传递类似“123://abc”之类的东西作为参数时,它会重定向并将url中的参数修改为“123:/abc”。
他们是一种避免这种情况的方法吗?
这是预期的行为,并且是可配置的。默认情况下,Gorillamux 会做路径清理,即删除新路由器的双斜线等。您可以按原样保留双斜线:
router.SkipClean(true)
Run Code Online (Sandbox Code Playgroud)
该SkipClean文档说:
...
当为 true 时,如果路由路径为“/path//to”,它将保留双斜杠。如果您有以下路线,这将很有帮助:/fetch/http://xkcd.com/534/