From 5c69fb2bcb62a18defc8dea5eec277d8d4571e88 Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Thu, 13 Nov 2025 10:36:41 +0000 Subject: [PATCH] appview: support git clones for repo.git urls instead of rewriting, simply accept .git suffixes in the ResolveRepo middleware. Signed-off-by: oppiliappan --- appview/middleware/middleware.go | 2 ++ appview/state/router.go | 7 +------ 2 file(s) changed, 3 insertion(s)(+), 6 deletion(s)(-) diff --git a/appview/middleware/middleware.go b/appview/middleware/middleware.go --- a/appview/middleware/middleware.go +++ b/appview/middleware/middleware.go @@ -206,6 +206,8 @@ return func(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { repoName := chi.URLParam(req, "repo") + repoName = strings.TrimSuffix(repoName, ".git") + id, ok := req.Context().Value("resolvedId").(identity.Identity) if !ok { log.Println("malformed middleware") diff --git a/appview/state/router.go b/appview/state/router.go --- a/appview/state/router.go +++ b/appview/state/router.go @@ -67,6 +67,7 @@ http.Redirect(w, r, "/"+redirectPath, http.StatusFound) return } + } standardRouter.ServeHTTP(w, r) @@ -81,12 +82,6 @@ r.With(mw.ResolveIdent()).Route("/{user}", func(r chi.Router) { r.Get("/", s.Profile) r.Get("/feed.atom", s.AtomFeedPage) - - // redirect /@handle/repo.git -> /@handle/repo - r.Get("/{repo}.git", func(w http.ResponseWriter, r *http.Request) { - nonDotGitPath := strings.TrimSuffix(r.URL.Path, ".git") - http.Redirect(w, r, nonDotGitPath, http.StatusMovedPermanently) - }) r.With(mw.ResolveRepo()).Route("/{repo}", func(r chi.Router) { r.Use(mw.GoImport()) -- tangled.sh