forked from tangled.org/core
Monorepo for Tangled — https://tangled.org

appview: show error pages

Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.sh>

anirudh.fi 1a5f1bc0 f4b2c850

verified
Changed files
+24 -2
appview
middleware
pages
templates
errors
repo
+2 -2
appview/middleware/middleware.go
··· 234 f, err := mw.repoResolver.Resolve(r) 235 if err != nil { 236 log.Println("failed to fully resolve repo", err) 237 - http.Error(w, "invalid repo url", http.StatusNotFound) 238 return 239 } 240 ··· 283 f, err := mw.repoResolver.Resolve(r) 284 if err != nil { 285 log.Println("failed to fully resolve repo", err) 286 - http.Error(w, "invalid repo url", http.StatusNotFound) 287 return 288 } 289
··· 234 f, err := mw.repoResolver.Resolve(r) 235 if err != nil { 236 log.Println("failed to fully resolve repo", err) 237 + mw.pages.ErrorKnot404(w) 238 return 239 } 240 ··· 283 f, err := mw.repoResolver.Resolve(r) 284 if err != nil { 285 log.Println("failed to fully resolve repo", err) 286 + mw.pages.ErrorKnot404(w) 287 return 288 } 289
+4
appview/pages/pages.go
··· 1272 return p.execute("errors/404", w, nil) 1273 } 1274 1275 func (p *Pages) Error503(w io.Writer) error { 1276 return p.execute("errors/503", w, nil) 1277 }
··· 1272 return p.execute("errors/404", w, nil) 1273 } 1274 1275 + func (p *Pages) ErrorKnot404(w io.Writer) error { 1276 + return p.execute("errors/knot404", w, nil) 1277 + } 1278 + 1279 func (p *Pages) Error503(w io.Writer) error { 1280 return p.execute("errors/503", w, nil) 1281 }
+9
appview/pages/templates/errors/knot404.html
···
··· 1 + {{ define "title" }}404 &middot; tangled{{ end }} 2 + 3 + {{ define "content" }} 4 + <h1>404 &mdash; repository not found!</h1> 5 + <p> 6 + The repository you were looking for could not be found. 7 + The knot serving the repository may be unavailable. 8 + </p> 9 + {{ end }}
+9
appview/repo/repo.go
··· 125 126 repolog, err := us.Log(f.OwnerDid(), f.Name, ref, page) 127 if err != nil { 128 log.Println("failed to reach knotserver", err) 129 return 130 } 131 132 tagResult, err := us.Tags(f.OwnerDid(), f.Name) 133 if err != nil { 134 log.Println("failed to reach knotserver", err) 135 return 136 } ··· 146 147 branchResult, err := us.Branches(f.OwnerDid(), f.Name) 148 if err != nil { 149 log.Println("failed to reach knotserver", err) 150 return 151 } ··· 312 313 resp, err := http.Get(fmt.Sprintf("%s://%s/%s/%s/commit/%s", protocol, f.Knot, f.OwnerDid(), f.Repo.Name, ref)) 314 if err != nil { 315 log.Println("failed to reach knotserver", err) 316 return 317 } ··· 382 383 resp, err := http.Get(fmt.Sprintf("%s://%s/%s/%s/tree/%s/%s", protocol, f.Knot, f.OwnerDid(), f.Repo.Name, ref, treePath)) 384 if err != nil { 385 log.Println("failed to reach knotserver", err) 386 return 387 } ··· 451 452 result, err := us.Tags(f.OwnerDid(), f.Name) 453 if err != nil { 454 log.Println("failed to reach knotserver", err) 455 return 456 } ··· 508 509 result, err := us.Branches(f.OwnerDid(), f.Name) 510 if err != nil { 511 log.Println("failed to reach knotserver", err) 512 return 513 } ··· 537 } 538 resp, err := http.Get(fmt.Sprintf("%s://%s/%s/%s/blob/%s/%s", protocol, f.Knot, f.OwnerDid(), f.Repo.Name, ref, filePath)) 539 if err != nil { 540 log.Println("failed to reach knotserver", err) 541 return 542 } ··· 1260 1261 result, err := us.Branches(f.OwnerDid(), f.Name) 1262 if err != nil { 1263 log.Println("failed to reach knotserver", err) 1264 return 1265 }
··· 125 126 repolog, err := us.Log(f.OwnerDid(), f.Name, ref, page) 127 if err != nil { 128 + rp.pages.Error503(w) 129 log.Println("failed to reach knotserver", err) 130 return 131 } 132 133 tagResult, err := us.Tags(f.OwnerDid(), f.Name) 134 if err != nil { 135 + rp.pages.Error503(w) 136 log.Println("failed to reach knotserver", err) 137 return 138 } ··· 148 149 branchResult, err := us.Branches(f.OwnerDid(), f.Name) 150 if err != nil { 151 + rp.pages.Error503(w) 152 log.Println("failed to reach knotserver", err) 153 return 154 } ··· 315 316 resp, err := http.Get(fmt.Sprintf("%s://%s/%s/%s/commit/%s", protocol, f.Knot, f.OwnerDid(), f.Repo.Name, ref)) 317 if err != nil { 318 + rp.pages.Error503(w) 319 log.Println("failed to reach knotserver", err) 320 return 321 } ··· 386 387 resp, err := http.Get(fmt.Sprintf("%s://%s/%s/%s/tree/%s/%s", protocol, f.Knot, f.OwnerDid(), f.Repo.Name, ref, treePath)) 388 if err != nil { 389 + rp.pages.Error503(w) 390 log.Println("failed to reach knotserver", err) 391 return 392 } ··· 456 457 result, err := us.Tags(f.OwnerDid(), f.Name) 458 if err != nil { 459 + rp.pages.Error503(w) 460 log.Println("failed to reach knotserver", err) 461 return 462 } ··· 514 515 result, err := us.Branches(f.OwnerDid(), f.Name) 516 if err != nil { 517 + rp.pages.Error503(w) 518 log.Println("failed to reach knotserver", err) 519 return 520 } ··· 544 } 545 resp, err := http.Get(fmt.Sprintf("%s://%s/%s/%s/blob/%s/%s", protocol, f.Knot, f.OwnerDid(), f.Repo.Name, ref, filePath)) 546 if err != nil { 547 + rp.pages.Error503(w) 548 log.Println("failed to reach knotserver", err) 549 return 550 } ··· 1268 1269 result, err := us.Branches(f.OwnerDid(), f.Name) 1270 if err != nil { 1271 + rp.pages.Error503(w) 1272 log.Println("failed to reach knotserver", err) 1273 return 1274 }