Monorepo for Tangled tangled.org

appview: support git clones for repo.git urls

instead of rewriting, simply accept .git suffixes in the ResolveRepo
middleware.

Signed-off-by: oppiliappan <me@oppi.li>

oppi.li 1627f1b3 edce8e37

verified
Changed files
+3 -6
appview
middleware
state
+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 id, ok := req.Context().Value("resolvedId").(identity.Identity) 210 if !ok { 211 log.Println("malformed middleware")
··· 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
··· 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())