diff options
| author | Adnan Maolood <[email protected]> | 2020-10-27 23:47:13 -0400 |
|---|---|---|
| committer | Adnan Maolood <[email protected]> | 2020-10-27 23:47:13 -0400 |
| commit | e6072d8bbc42d7d37b648d7ef3b1169aa13ea7eb (patch) | |
| tree | 01507eeb51dee806144ef6e8beb13480a56b2207 | |
| parent | Add Client.GetInput field (diff) | |
| download | go-gemini-e6072d8bbc42d7d37b648d7ef3b1169aa13ea7eb.tar.xz go-gemini-e6072d8bbc42d7d37b648d7ef3b1169aa13ea7eb.zip | |
Ensure absolute paths in client certificate store
| -rw-r--r-- | cert.go | 6 | ||||
| -rw-r--r-- | examples/client.go | 2 |
2 files changed, 7 insertions, 1 deletions
@@ -77,6 +77,12 @@ type ClientCertificateStore struct { func (c *ClientCertificateStore) Lookup(hostname, urlPath string) (*tls.Certificate, error) { urlPath = path.Clean(urlPath) + if urlPath == "." { + urlPath = "/" + } + if urlPath[0] != '/' { + urlPath = "/" + urlPath + } for { cert, err := c.CertificateStore.Lookup(hostname + urlPath) switch err { diff --git a/examples/client.go b/examples/client.go index 852b126..169f726 100644 --- a/examples/client.go +++ b/examples/client.go @@ -77,8 +77,8 @@ func sendRequest(req *gemini.Request) error { } if resp.Status.Class() == gemini.StatusClassSuccess { - defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) + resp.Body.Close() if err != nil { return err } |