diff options
Diffstat (limited to 'examples/client')
| -rw-r--r-- | examples/client/client.go | 19 |
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) |