From 1627f1b32032c2903b45fff70b9f982d03501069 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 Change-Id: pzylsqyxzukxxqzwpkvptpuswtooxknn 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 files changed, 3 insertions(+), 6 deletions(-) diff --git a/appview/middleware/middleware.go b/appview/middleware/middleware.go index c82188d4..8ec71059 100644 --- a/appview/middleware/middleware.go +++ b/appview/middleware/middleware.go @@ -206,6 +206,8 @@ func (mw Middleware) ResolveRepo() middlewareFunc { 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 index 84f47217..7aabd5a5 100644 --- a/appview/state/router.go +++ b/appview/state/router.go @@ -67,6 +67,7 @@ func (s *State) Router() http.Handler { http.Redirect(w, r, "/"+redirectPath, http.StatusFound) return } + } standardRouter.ServeHTTP(w, r) @@ -82,12 +83,6 @@ func (s *State) UserRouter(mw *middleware.Middleware) http.Handler { 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()) r.Mount("/", s.RepoRouter(mw)) -- 2.43.0