appview: add user in knot404 error pages #10

closed
opened by serendipty01.dev targeting master from push-prquzlvztlul
Changed files
+21 -7
appview
middleware
pages
+19 -5
appview/middleware/middleware.go
···
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
repoName := chi.URLParam(req, "repo")
id, ok := req.Context().Value("resolvedId").(identity.Identity)
if !ok {
log.Println("malformed middleware")
···
)
if err != nil {
log.Println("failed to resolve repo", "err", err)
-
mw.pages.ErrorKnot404(w)
return
}
···
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
f, err := mw.repoResolver.Resolve(r)
if err != nil {
log.Println("failed to fully resolve repo", err)
-
mw.pages.ErrorKnot404(w)
return
}
···
func (mw Middleware) ResolveIssue(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
f, err := mw.repoResolver.Resolve(r)
if err != nil {
log.Println("failed to fully resolve repo", err)
-
mw.pages.ErrorKnot404(w)
return
}
···
issueId, err := strconv.Atoi(issueIdStr)
if err != nil {
log.Println("failed to fully resolve issue ID", err)
-
mw.pages.ErrorKnot404(w)
return
}
···
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
f, err := mw.repoResolver.Resolve(r)
if err != nil {
log.Println("failed to fully resolve repo", err)
-
mw.pages.ErrorKnot404(w)
return
}
···
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
repoName := chi.URLParam(req, "repo")
+
user := mw.oauth.GetUser(req)
id, ok := req.Context().Value("resolvedId").(identity.Identity)
if !ok {
log.Println("malformed middleware")
···
)
if err != nil {
log.Println("failed to resolve repo", "err", err)
+
mw.pages.ErrorKnot404(w, pages.ErrorPageParams{
+
LoggedInUser: user,
+
})
return
}
···
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
f, err := mw.repoResolver.Resolve(r)
+
user := mw.oauth.GetUser(r)
if err != nil {
log.Println("failed to fully resolve repo", err)
+
mw.pages.ErrorKnot404(w, pages.ErrorPageParams{
+
LoggedInUser: user,
+
})
return
}
···
func (mw Middleware) ResolveIssue(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
f, err := mw.repoResolver.Resolve(r)
+
user := mw.oauth.GetUser(r)
if err != nil {
log.Println("failed to fully resolve repo", err)
+
mw.pages.ErrorKnot404(w, pages.ErrorPageParams{
+
LoggedInUser: user,
+
})
return
}
···
issueId, err := strconv.Atoi(issueIdStr)
if err != nil {
log.Println("failed to fully resolve issue ID", err)
+
mw.pages.ErrorKnot404(w, pages.ErrorPageParams{
+
LoggedInUser: user,
+
})
return
}
···
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
f, err := mw.repoResolver.Resolve(r)
+
user := mw.oauth.GetUser(r)
if err != nil {
log.Println("failed to fully resolve repo", err)
+
mw.pages.ErrorKnot404(w, pages.ErrorPageParams{
+
LoggedInUser: user,
+
})
return
}
+2 -2
appview/pages/pages.go
···
return p.execute("errors/404", w, params)
}
-
func (p *Pages) ErrorKnot404(w io.Writer) error {
-
return p.execute("errors/knot404", w, nil)
}
func (p *Pages) Error503(w io.Writer) error {
···
return p.execute("errors/404", w, params)
}
+
func (p *Pages) ErrorKnot404(w io.Writer, params ErrorPageParams) error {
+
return p.execute("errors/knot404", w, params)
}
func (p *Pages) Error503(w io.Writer) error {