aboutsummaryrefslogtreecommitdiff
path: root/examples/client
diff options
context:
space:
mode:
Diffstat (limited to 'examples/client')
-rw-r--r--examples/client/client.go19
1 files changed, 17 insertions, 2 deletions
diff --git a/examples/client/client.go b/examples/client/client.go
index a90af18..353359c 100644
--- a/examples/client/client.go
+++ b/examples/client/client.go
@@ -5,6 +5,7 @@ package main
import (
"bufio"
"crypto/tls"
+ "crypto/x509"
"fmt"
"log"
"os"
@@ -12,7 +13,18 @@ import (
"git.sr.ht/~adnano/go-gemini"
)
-var cert tls.Certificate
+var (
+ client = &gemini.Client{
+ VerifyCertificate: func(cert *x509.Certificate) error {
+ // if gemini.Fingerprint(cert) != expected {
+ // return errors.New("invalid server certificate")
+ // }
+ return nil
+ },
+ }
+
+ cert tls.Certificate
+)
func init() {
// Configure a client side certificate.
@@ -35,11 +47,14 @@ func makeRequest(url string) {
log.Fatal(err)
}
req.Certificate = cert
- resp, err := gemini.Do(req)
+
+ resp, err := client.Send(req)
if err != nil {
log.Fatal(err)
}
+ fmt.Println(gemini.Fingerprint(resp.TLS.PeerCertificates[0]))
+
fmt.Println("Status code:", resp.Status)
fmt.Println("Meta:", resp.Meta)