aboutsummaryrefslogtreecommitdiff
path: root/client.go
diff options
context:
space:
mode:
authorAdnan Maolood <[email protected]>2020-11-06 11:18:58 -0500
committerAdnan Maolood <[email protected]>2020-11-06 11:18:58 -0500
commitfe92db1e9c3810be45250dd1e12084d098034787 (patch)
treeb6ea6ead48523793d4c10dd15366e4f98a48d873 /client.go
parentFix TOFU (diff)
downloadgo-gemini-fe92db1e9c3810be45250dd1e12084d098034787.tar.xz
go-gemini-fe92db1e9c3810be45250dd1e12084d098034787.zip
Allow redirects to non-gemini schemes
Diffstat (limited to 'client.go')
-rw-r--r--client.go7
1 files changed, 1 insertions, 6 deletions
diff --git a/client.go b/client.go
index fe7efea..0487ed4 100644
--- a/client.go
+++ b/client.go
@@ -108,6 +108,7 @@ func (c *Client) do(req *Request, via []*Request) (*Response, error) {
if err := resp.read(conn); err != nil {
return nil, err
}
+ resp.Request = req
// Store connection state
resp.TLS = conn.ConnectionState()
@@ -152,11 +153,6 @@ func (c *Client) do(req *Request, via []*Request) (*Response, error) {
return resp, err
}
- target = req.URL.ResolveReference(target)
- if target.Scheme != "" && target.Scheme != "gemini" {
- return resp, nil
- }
-
redirect := NewRequestFromURL(target)
if c.CheckRedirect != nil {
if err := c.CheckRedirect(redirect, via); err != nil {
@@ -166,7 +162,6 @@ func (c *Client) do(req *Request, via []*Request) (*Response, error) {
}
}
- resp.Request = req
return resp, nil
}