From 65a64c8044dd02a930fb5e446edaa52ac97389fd Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 20 Jul 2025 14:23:20 +0300 Subject: [PATCH] client: allow using custom http client for .well-known resolution --- client.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client.go b/client.go index 886dbb63..1f907608 100644 --- a/client.go +++ b/client.go @@ -139,6 +139,10 @@ type IdentityServerInfo struct { // Use ParseUserID to extract the server name from a user ID. // https://spec.matrix.org/v1.2/client-server-api/#server-discovery func DiscoverClientAPI(ctx context.Context, serverName string) (*ClientWellKnown, error) { + return DiscoverClientAPIWithClient(ctx, &http.Client{Timeout: 30 * time.Second}, serverName) +} + +func DiscoverClientAPIWithClient(ctx context.Context, client *http.Client, serverName string) (*ClientWellKnown, error) { wellKnownURL := url.URL{ Scheme: "https", Host: serverName, @@ -153,7 +157,6 @@ func DiscoverClientAPI(ctx context.Context, serverName string) (*ClientWellKnown req.Header.Set("Accept", "application/json") req.Header.Set("User-Agent", DefaultUserAgent+" (.well-known fetcher)") - client := &http.Client{Timeout: 30 * time.Second} resp, err := client.Do(req) if err != nil { return nil, err