···
func (rp *Repo) DownloadArchive(w http.ResponseWriter, r *http.Request) {
l := rp.logger.With("handler", "DownloadArchive")
93
+
user := rp.oauth.GetUser(r)
ref := chi.URLParam(r, "ref")
ref, _ = url.PathUnescape(ref)
···
archiveBytes, err := tangled.RepoArchive(r.Context(), xrpcc, "tar.gz", "", ref, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.archive", "err", xrpcerr)
116
-
rp.pages.Error503(w)
117
+
rp.pages.Error503(w, pages.ErrorPageParams{
118
+
LoggedInUser: user,
···
func (rp *Repo) RepoLog(w http.ResponseWriter, r *http.Request) {
l := rp.logger.With("handler", "RepoLog")
136
+
user := rp.oauth.GetUser(r)
f, err := rp.repoResolver.Resolve(r)
···
xrpcBytes, err := tangled.RepoLog(r.Context(), xrpcc, cursor, limit, "", ref, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.log", "err", xrpcerr)
172
-
rp.pages.Error503(w)
176
+
rp.pages.Error503(w, pages.ErrorPageParams{
177
+
LoggedInUser: user,
var xrpcResp types.RepoLogResponse
if err := json.Unmarshal(xrpcBytes, &xrpcResp); err != nil {
l.Error("failed to decode XRPC response", "err", err)
179
-
rp.pages.Error503(w)
185
+
rp.pages.Error503(w, pages.ErrorPageParams{
186
+
LoggedInUser: user,
tagBytes, err := tangled.RepoTags(r.Context(), xrpcc, "", 0, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.tags", "err", xrpcerr)
186
-
rp.pages.Error503(w)
194
+
rp.pages.Error503(w, pages.ErrorPageParams{
195
+
LoggedInUser: user,
···
branchBytes, err := tangled.RepoBranches(r.Context(), xrpcc, "", 0, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.branches", "err", xrpcerr)
207
-
rp.pages.Error503(w)
217
+
rp.pages.Error503(w, pages.ErrorPageParams{
218
+
LoggedInUser: user,
···
220
-
user := rp.oauth.GetUser(r)
emailToDidMap, err := db.GetEmailToDid(rp.db, uniqueEmails(xrpcResp.Commits), true)
l.Error("failed to fetch email to did mapping", "err", err)
···
xrpcBytes, err := tangled.RepoDiff(r.Context(), xrpcc, ref, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.diff", "err", xrpcerr)
391
-
rp.pages.Error503(w)
401
+
rp.pages.Error503(w, pages.ErrorPageParams{
402
+
LoggedInUser: user,
var result types.RepoCommitResponse
if err := json.Unmarshal(xrpcBytes, &result); err != nil {
l.Error("failed to decode XRPC response", "err", err)
398
-
rp.pages.Error503(w)
410
+
rp.pages.Error503(w, pages.ErrorPageParams{
411
+
LoggedInUser: user,
···
func (rp *Repo) RepoTree(w http.ResponseWriter, r *http.Request) {
l := rp.logger.With("handler", "RepoTree")
450
+
user := rp.oauth.GetUser(r)
f, err := rp.repoResolver.Resolve(r)
···
xrpcResp, err := tangled.RepoTree(r.Context(), xrpcc, treePath, ref, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.tree", "err", xrpcerr)
465
-
rp.pages.Error503(w)
480
+
rp.pages.Error503(w, pages.ErrorPageParams{
481
+
LoggedInUser: user,
···
517
-
user := rp.oauth.GetUser(r)
var breadcrumbs [][]string
breadcrumbs = append(breadcrumbs, []string{f.Name, fmt.Sprintf("/%s/tree/%s", f.OwnerSlashRepo(), url.PathEscape(ref))})
···
func (rp *Repo) RepoTags(w http.ResponseWriter, r *http.Request) {
l := rp.logger.With("handler", "RepoTags")
555
+
user := rp.oauth.GetUser(r)
f, err := rp.repoResolver.Resolve(r)
···
xrpcBytes, err := tangled.RepoTags(r.Context(), xrpcc, "", 0, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.tags", "err", xrpcerr)
560
-
rp.pages.Error503(w)
576
+
rp.pages.Error503(w, pages.ErrorPageParams{
577
+
LoggedInUser: user,
var result types.RepoTagsResponse
if err := json.Unmarshal(xrpcBytes, &result); err != nil {
l.Error("failed to decode XRPC response", "err", err)
567
-
rp.pages.Error503(w)
585
+
rp.pages.Error503(w, pages.ErrorPageParams{
586
+
LoggedInUser: user,
···
599
-
user := rp.oauth.GetUser(r)
rp.pages.RepoTags(w, pages.RepoTagsParams{
RepoInfo: f.RepoInfo(user),
···
func (rp *Repo) RepoBranches(w http.ResponseWriter, r *http.Request) {
l := rp.logger.With("handler", "RepoBranches")
630
+
user := rp.oauth.GetUser(r)
f, err := rp.repoResolver.Resolve(r)
···
xrpcBytes, err := tangled.RepoBranches(r.Context(), xrpcc, "", 0, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.branches", "err", xrpcerr)
631
-
rp.pages.Error503(w)
651
+
rp.pages.Error503(w, pages.ErrorPageParams{
652
+
LoggedInUser: user,
var result types.RepoBranchesResponse
if err := json.Unmarshal(xrpcBytes, &result); err != nil {
l.Error("failed to decode XRPC response", "err", err)
638
-
rp.pages.Error503(w)
660
+
rp.pages.Error503(w, pages.ErrorPageParams{
661
+
LoggedInUser: user,
sortBranches(result.Branches)
644
-
user := rp.oauth.GetUser(r)
rp.pages.RepoBranches(w, pages.RepoBranchesParams{
RepoInfo: f.RepoInfo(user),
···
func (rp *Repo) RepoBlob(w http.ResponseWriter, r *http.Request) {
l := rp.logger.With("handler", "RepoBlob")
726
+
user := rp.oauth.GetUser(r)
f, err := rp.repoResolver.Resolve(r)
···
resp, err := tangled.RepoBlob(r.Context(), xrpcc, filePath, false, ref, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.blob", "err", xrpcerr)
729
-
rp.pages.Error503(w)
753
+
rp.pages.Error503(w, pages.ErrorPageParams{
754
+
LoggedInUser: user,
···
sizeHint = uint64(len(resp.Content))
801
-
user := rp.oauth.GetUser(r)
// Determine if content is binary (dereference pointer)
if resp.IsBinary != nil {
···
func (rp *Repo) RepoBlobRaw(w http.ResponseWriter, r *http.Request) {
l := rp.logger.With("handler", "RepoBlobRaw")
853
+
user := rp.oauth.GetUser(r)
f, err := rp.repoResolver.Resolve(r)
···
resp, err := client.Do(req)
l.Error("failed to reach knotserver", "err", err)
877
-
rp.pages.Error503(w)
902
+
rp.pages.Error503(w, pages.ErrorPageParams{
903
+
LoggedInUser: user,
···
xrpcBytes, err := tangled.RepoBranches(r.Context(), xrpcc, "", 0, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.branches", "err", xrpcerr)
1968
-
rp.pages.Error503(w)
1995
+
rp.pages.Error503(w, pages.ErrorPageParams{
1996
+
LoggedInUser: user,
var result types.RepoBranchesResponse
if err := json.Unmarshal(xrpcBytes, &result); err != nil {
l.Error("failed to decode XRPC response", "err", err)
1975
-
rp.pages.Error503(w)
2004
+
rp.pages.Error503(w, pages.ErrorPageParams{
2005
+
LoggedInUser: user,
defaultLabels, err := db.GetLabelDefinitions(rp.db, db.FilterIn("at_uri", models.DefaultLabelDefs()))
l.Error("failed to fetch labels", "err", err)
1982
-
rp.pages.Error503(w)
2013
+
rp.pages.Error503(w, pages.ErrorPageParams{
2014
+
LoggedInUser: user,
labels, err := db.GetLabelDefinitions(rp.db, db.FilterIn("at_uri", f.Repo.Labels))
l.Error("failed to fetch labels", "err", err)
1989
-
rp.pages.Error503(w)
2022
+
rp.pages.Error503(w, pages.ErrorPageParams{
2023
+
LoggedInUser: user,
// remove default labels from the labels list, if present
···
branchBytes, err := tangled.RepoBranches(r.Context(), xrpcc, "", 0, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.branches", "err", xrpcerr)
2423
-
rp.pages.Error503(w)
2458
+
rp.pages.Error503(w, pages.ErrorPageParams{
2459
+
LoggedInUser: user,
···
tagBytes, err := tangled.RepoTags(r.Context(), xrpcc, "", 0, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.tags", "err", xrpcerr)
2460
-
rp.pages.Error503(w)
2497
+
rp.pages.Error503(w, pages.ErrorPageParams{
2498
+
LoggedInUser: user,
···
branchBytes, err := tangled.RepoBranches(r.Context(), xrpcc, "", 0, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.branches", "err", xrpcerr)
2537
-
rp.pages.Error503(w)
2576
+
rp.pages.Error503(w, pages.ErrorPageParams{
2577
+
LoggedInUser: user,
···
tagBytes, err := tangled.RepoTags(r.Context(), xrpcc, "", 0, repo)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.tags", "err", xrpcerr)
2551
-
rp.pages.Error503(w)
2592
+
rp.pages.Error503(w, pages.ErrorPageParams{
2593
+
LoggedInUser: user,
···
compareBytes, err := tangled.RepoCompare(r.Context(), xrpcc, repo, base, head)
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
l.Error("failed to call XRPC repo.compare", "err", xrpcerr)
2565
-
rp.pages.Error503(w)
2608
+
rp.pages.Error503(w, pages.ErrorPageParams{
2609
+
LoggedInUser: user,