aboutsummaryrefslogtreecommitdiff
path: root/fedauth.go
diff options
context:
space:
mode:
authorRunxi Yu <me@runxiyu.org>2025-03-22 12:51:09 +0800
committerRunxi Yu <me@runxiyu.org>2025-03-22 12:51:09 +0800
commit119e54e4590974a0a6aa0efecaac9a7545caf98d (patch)
treef08d96d531afd812bcc3b44b094c2e0499c99462 /fedauth.go
parentAdd HTTP 451 (diff)
downloadforge-119e54e4590974a0a6aa0efecaac9a7545caf98d.tar.gz
forge-119e54e4590974a0a6aa0efecaac9a7545caf98d.tar.zst
forge-119e54e4590974a0a6aa0efecaac9a7545caf98d.zip
fedauth: Use NewRequestWithContext
Diffstat (limited to 'fedauth.go')
-rw-r--r--fedauth.go14
1 files changed, 8 insertions, 6 deletions
diff --git a/fedauth.go b/fedauth.go
index 5957519..3bd25d6 100644
--- a/fedauth.go
+++ b/fedauth.go
@@ -17,27 +17,29 @@ import (
func fedauth(ctx context.Context, userID int, service, remoteUsername, pubkey string) (bool, error) {
var err error
- var resp *http.Response
+
matched := false
usernameEscaped := url.PathEscape(remoteUsername)
+
+ var req *http.Request
switch service {
case "sr.ht":
- resp, err = http.Get("https://meta.sr.ht/~" + usernameEscaped + ".keys")
+ req, err = http.NewRequestWithContext(ctx, http.MethodGet, "https://meta.sr.ht/~" + usernameEscaped + ".keys", nil)
case "github":
- resp, err = http.Get("https://github.com/" + usernameEscaped + ".keys")
+ req, err = http.NewRequestWithContext(ctx, http.MethodGet, "https://github.com/" + usernameEscaped + ".keys", nil)
case "codeberg":
- resp, err = http.Get("https://codeberg.org/" + usernameEscaped + ".keys")
+ req, err = http.NewRequestWithContext(ctx, http.MethodGet, "https://codeberg.org/" + usernameEscaped + ".keys", nil)
case "tangled":
- resp, err = http.Get("https://tangled.sh/keys/" + usernameEscaped)
+ req, err = http.NewRequestWithContext(ctx, http.MethodGet, "https://tangled.sh/keys/" + usernameEscaped, nil)
// TODO: Don't rely on one webview
default:
return false, errors.New("unknown federated service")
}
-
if err != nil {
return false, err
}
+ resp, err := http.DefaultClient.Do(req)
defer func() {
_ = resp.Body.Close()
}()