+2
appview/middleware/middleware.go
+2
appview/middleware/middleware.go
···
206
return func(next http.Handler) http.Handler {
207
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
208
repoName := chi.URLParam(req, "repo")
209
+
repoName = strings.TrimSuffix(repoName, ".git")
210
+
211
id, ok := req.Context().Value("resolvedId").(identity.Identity)
212
if !ok {
213
log.Println("malformed middleware")
+1
-6
appview/state/router.go
+1
-6
appview/state/router.go
···
67
http.Redirect(w, r, "/"+redirectPath, http.StatusFound)
68
return
69
}
70
}
71
72
standardRouter.ServeHTTP(w, r)
···
81
r.With(mw.ResolveIdent()).Route("/{user}", func(r chi.Router) {
82
r.Get("/", s.Profile)
83
r.Get("/feed.atom", s.AtomFeedPage)
84
-
85
-
// redirect /@handle/repo.git -> /@handle/repo
86
-
r.Get("/{repo}.git", func(w http.ResponseWriter, r *http.Request) {
87
-
nonDotGitPath := strings.TrimSuffix(r.URL.Path, ".git")
88
-
http.Redirect(w, r, nonDotGitPath, http.StatusMovedPermanently)
89
-
})
90
91
r.With(mw.ResolveRepo()).Route("/{repo}", func(r chi.Router) {
92
r.Use(mw.GoImport())
···
67
http.Redirect(w, r, "/"+redirectPath, http.StatusFound)
68
return
69
}
70
+
71
}
72
73
standardRouter.ServeHTTP(w, r)
···
82
r.With(mw.ResolveIdent()).Route("/{user}", func(r chi.Router) {
83
r.Get("/", s.Profile)
84
r.Get("/feed.atom", s.AtomFeedPage)
85
86
r.With(mw.ResolveRepo()).Route("/{repo}", func(r chi.Router) {
87
r.Use(mw.GoImport())