diff options
author | Runxi Yu <me@runxiyu.org> | 2025-03-22 12:51:09 +0800 |
---|---|---|
committer | Runxi Yu <me@runxiyu.org> | 2025-03-22 12:51:09 +0800 |
commit | 119e54e4590974a0a6aa0efecaac9a7545caf98d (patch) | |
tree | f08d96d531afd812bcc3b44b094c2e0499c99462 | |
parent | Add HTTP 451 (diff) | |
download | forge-119e54e4590974a0a6aa0efecaac9a7545caf98d.tar.gz forge-119e54e4590974a0a6aa0efecaac9a7545caf98d.tar.zst forge-119e54e4590974a0a6aa0efecaac9a7545caf98d.zip |
fedauth: Use NewRequestWithContext
-rw-r--r-- | fedauth.go | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -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() }() |