diff options
| author | adnano <[email protected]> | 2020-09-25 19:53:50 -0400 |
|---|---|---|
| committer | adnano <[email protected]> | 2020-09-25 19:53:50 -0400 |
| commit | 53d84882ea0c33a12e1e009d58003ecde3a5aa98 (patch) | |
| tree | 563f2729b2626ba72d552f38608946f919e8e21a /examples | |
| parent | Reorganize (diff) | |
| download | go-gemini-53d84882ea0c33a12e1e009d58003ecde3a5aa98.tar.xz go-gemini-53d84882ea0c33a12e1e009d58003ecde3a5aa98.zip | |
Implement configurable Client
Diffstat (limited to 'examples')
| -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) |