Allow redirects to non-gemini schemes
This commit is contained in:
parent
ff6c95930b
commit
fe92db1e9c
|
@ -108,6 +108,7 @@ func (c *Client) do(req *Request, via []*Request) (*Response, error) {
|
||||||
if err := resp.read(conn); err != nil {
|
if err := resp.read(conn); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
resp.Request = req
|
||||||
// Store connection state
|
// Store connection state
|
||||||
resp.TLS = conn.ConnectionState()
|
resp.TLS = conn.ConnectionState()
|
||||||
|
|
||||||
|
@ -152,11 +153,6 @@ func (c *Client) do(req *Request, via []*Request) (*Response, error) {
|
||||||
return resp, err
|
return resp, err
|
||||||
}
|
}
|
||||||
|
|
||||||
target = req.URL.ResolveReference(target)
|
|
||||||
if target.Scheme != "" && target.Scheme != "gemini" {
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
redirect := NewRequestFromURL(target)
|
redirect := NewRequestFromURL(target)
|
||||||
if c.CheckRedirect != nil {
|
if c.CheckRedirect != nil {
|
||||||
if err := c.CheckRedirect(redirect, via); err != 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
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user