diff options
author | Unknwon <u@gogs.io> | 2017-02-20 18:05:34 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2017-02-20 18:05:34 -0500 |
commit | 6002d7260329e4fa22c1069434d58dcc258b15c8 (patch) | |
tree | d48cbb7cfde86d41c731a279e02c195a90ae7a21 /cmd | |
parent | 934734a85a1e4cb68d8c1aa68c518b511c7be190 (diff) |
router: fix 404 when repository name contains dot
E.g. atomi.github.io
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/web.go | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -632,14 +632,17 @@ func runWeb(ctx *cli.Context) error { }, ignSignIn, context.RepoAssignment(), context.RepoRef()) m.Group("/:username", func() { - m.Group("/:reponame", func() { - m.Get("", repo.Home) - m.Get("\\.git$", repo.Home) + m.Group("", func() { + m.Get("/:reponame", repo.Home) }, ignSignIn, context.RepoAssignment(true), context.RepoRef()) m.Group("/:reponame", func() { m.Head("/tasks/trigger", repo.TriggerTask) - m.Route("\\.git/*", "GET,POST", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP) + }) + // Use the regexp to match the repository name validation + m.Group("/:reponame([\\d\\w-_\\.]+\\.git$)", func() { + m.Get("", ignSignIn, context.RepoAssignment(true), context.RepoRef(), repo.Home) + m.Route("/*", "GET,POST", ignSignInAndCsrf, repo.HTTPContexter(), repo.HTTP) }) }) // ***** END: Repository ***** |