+9
-12
appview/state/git_http.go
+9
-12
appview/state/git_http.go
···
3
import (
4
"fmt"
5
"io"
6
"net/http"
7
8
"github.com/bluesky-social/indigo/atproto/identity"
9
"github.com/go-chi/chi/v5"
10
)
11
12
func (s *State) InfoRefs(w http.ResponseWriter, r *http.Request) {
13
user := r.Context().Value("resolvedId").(identity.Identity)
14
-
knot := r.Context().Value("knot").(string)
15
-
repo := chi.URLParam(r, "repo")
16
17
scheme := "https"
18
if s.config.Core.Dev {
19
scheme = "http"
20
}
21
22
-
targetURL := fmt.Sprintf("%s://%s/%s/%s/info/refs?%s", scheme, knot, user.DID, repo, r.URL.RawQuery)
23
s.proxyRequest(w, r, targetURL)
24
25
}
···
30
http.Error(w, "failed to resolve user", http.StatusInternalServerError)
31
return
32
}
33
-
knot := r.Context().Value("knot").(string)
34
-
repo := chi.URLParam(r, "repo")
35
36
scheme := "https"
37
if s.config.Core.Dev {
38
scheme = "http"
39
}
40
41
-
targetURL := fmt.Sprintf("%s://%s/%s/%s/git-upload-pack?%s", scheme, knot, user.DID, repo, r.URL.RawQuery)
42
s.proxyRequest(w, r, targetURL)
43
}
44
···
48
http.Error(w, "failed to resolve user", http.StatusInternalServerError)
49
return
50
}
51
-
knot := r.Context().Value("knot").(string)
52
-
repo := chi.URLParam(r, "repo")
53
54
scheme := "https"
55
if s.config.Core.Dev {
56
scheme = "http"
57
}
58
59
-
targetURL := fmt.Sprintf("%s://%s/%s/%s/git-receive-pack?%s", scheme, knot, user.DID, repo, r.URL.RawQuery)
60
s.proxyRequest(w, r, targetURL)
61
}
62
···
85
defer resp.Body.Close()
86
87
// Copy response headers
88
-
for k, v := range resp.Header {
89
-
w.Header()[k] = v
90
-
}
91
92
// Set response status code
93
w.WriteHeader(resp.StatusCode)
···
3
import (
4
"fmt"
5
"io"
6
+
"maps"
7
"net/http"
8
9
"github.com/bluesky-social/indigo/atproto/identity"
10
"github.com/go-chi/chi/v5"
11
+
"tangled.sh/tangled.sh/core/appview/db"
12
)
13
14
func (s *State) InfoRefs(w http.ResponseWriter, r *http.Request) {
15
user := r.Context().Value("resolvedId").(identity.Identity)
16
+
repo := r.Context().Value("repo").(*db.Repo)
17
18
scheme := "https"
19
if s.config.Core.Dev {
20
scheme = "http"
21
}
22
23
+
targetURL := fmt.Sprintf("%s://%s/%s/%s/info/refs?%s", scheme, repo.Knot, user.DID, repo.Name, r.URL.RawQuery)
24
s.proxyRequest(w, r, targetURL)
25
26
}
···
31
http.Error(w, "failed to resolve user", http.StatusInternalServerError)
32
return
33
}
34
+
repo := r.Context().Value("repo").(*db.Repo)
35
36
scheme := "https"
37
if s.config.Core.Dev {
38
scheme = "http"
39
}
40
41
+
targetURL := fmt.Sprintf("%s://%s/%s/%s/git-upload-pack?%s", scheme, repo.Knot, user.DID, repo.Name, r.URL.RawQuery)
42
s.proxyRequest(w, r, targetURL)
43
}
44
···
48
http.Error(w, "failed to resolve user", http.StatusInternalServerError)
49
return
50
}
51
+
repo := r.Context().Value("repo").(*db.Repo)
52
53
scheme := "https"
54
if s.config.Core.Dev {
55
scheme = "http"
56
}
57
58
+
targetURL := fmt.Sprintf("%s://%s/%s/%s/git-receive-pack?%s", scheme, repo.Knot, user.DID, repo.Name, r.URL.RawQuery)
59
s.proxyRequest(w, r, targetURL)
60
}
61
···
84
defer resp.Body.Close()
85
86
// Copy response headers
87
+
maps.Copy(w.Header(), resp.Header)
88
89
// Set response status code
90
w.WriteHeader(resp.StatusCode)