From c754a4406455936dd8ab6d0278fc6423f2fbf2cc Mon Sep 17 00:00:00 2001 From: tjpcc Date: Tue, 9 May 2023 10:19:51 -0600 Subject: InsecureSkipVerify and other improvements for the gemini fetch example code --- examples/fetch/main.go | 13 ++++++------- gemini/client.go | 7 ++++++- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/examples/fetch/main.go b/examples/fetch/main.go index fccc6cf..8f03114 100644 --- a/examples/fetch/main.go +++ b/examples/fetch/main.go @@ -30,7 +30,7 @@ func main() { } // parse the URL and build the request - request := &sr.Request{URL: buildURL()} + request := &sr.Request{URL: buildURL(os.Args[1])} // fetch the response response, err := client.RoundTrip(request) @@ -43,17 +43,16 @@ func main() { log.Fatalf("%d %s\n", response.Status, response.Meta) } - //io.Copy(os.Stdout, response) - buf, err := io.ReadAll(gemini.NewResponseReader(response)) - fmt.Printf("response: %s\n", buf) + if _, err := io.Copy(os.Stdout, response.Body); err != nil { + log.Fatal(err) + } } func envConfig() (string, string) { - return os.Getenv("SERVER_CERTIFICATE"), os.Getenv("SERVER_PRIVATEKEY") + return os.Getenv("CLIENT_CERTIFICATE"), os.Getenv("CLIENT_PRIVATEKEY") } -func buildURL() *url.URL { - raw := os.Args[1] +func buildURL(raw string) *url.URL { if strings.HasPrefix(raw, "//") { raw = "gemini:" + raw } diff --git a/gemini/client.go b/gemini/client.go index 68c5488..7c78b71 100644 --- a/gemini/client.go +++ b/gemini/client.go @@ -43,7 +43,12 @@ func (client Client) RoundTrip(request *sr.Request) (*sr.Response, error) { host = net.JoinHostPort(host, "1965") } - conn, err := tls.Dial("tcp", host, client.tlsConf) + tlsConf := tls.Config{InsecureSkipVerify: true} + if (client.tlsConf != nil) { + tlsConf = *client.tlsConf + } + + conn, err := tls.Dial("tcp", host, &tlsConf) if err != nil { return nil, err } -- cgit v1.2.3