aboutsummaryrefslogtreecommitdiff
path: root/fedauth.go
diff options
context:
space:
mode:
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()
}()