diff options
| author | adnano <[email protected]> | 2020-09-27 20:20:59 -0400 |
|---|---|---|
| committer | adnano <[email protected]> | 2020-09-27 20:20:59 -0400 |
| commit | 38fe1f21dc8d356157845bf7b930291d54879def (patch) | |
| tree | 45024a1f6f5e95952a30f7111bc8e40d9208ebe7 /examples/client | |
| parent | Add helper handler functions (diff) | |
| download | go-gemini-38fe1f21dc8d356157845bf7b930291d54879def.tar.xz go-gemini-38fe1f21dc8d356157845bf7b930291d54879def.zip | |
Change package name to gmi
Diffstat (limited to 'examples/client')
| -rw-r--r-- | examples/client/client.go | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/examples/client/client.go b/examples/client/client.go index 4c924a6..b209d0e 100644 --- a/examples/client/client.go +++ b/examples/client/client.go @@ -13,22 +13,22 @@ import ( var ( scanner = bufio.NewScanner(os.Stdin) - client *gemini.Client + client *gmi.Client ) func init() { // Initialize the client - client = &gemini.Client{} + client = &gmi.Client{} client.KnownHosts.Load() // Load known hosts - client.TrustCertificate = func(hostname string, cert *x509.Certificate, knownHosts *gemini.KnownHosts) error { + client.TrustCertificate = func(hostname string, cert *x509.Certificate, knownHosts *gmi.KnownHosts) error { err := knownHosts.Lookup(hostname, cert) if err != nil { switch err { - case gemini.ErrCertificateNotTrusted: + case gmi.ErrCertificateNotTrusted: // Alert the user that the certificate is not trusted fmt.Printf("Warning: Certificate for %s is not trusted!\n", hostname) fmt.Println("This could indicate a Man-in-the-Middle attack.") - case gemini.ErrUnknownCertificate: + case gmi.ErrUnknownCertificate: // Prompt the user to trust the certificate trust := trustCertificate(cert) switch trust { @@ -48,33 +48,33 @@ func init() { } // sendRequest sends a request to the given url. -func sendRequest(req *gemini.Request) error { +func sendRequest(req *gmi.Request) error { resp, err := client.Send(req) if err != nil { return err } switch resp.Status / 10 { - case gemini.StatusClassInput: + case gmi.StatusClassInput: fmt.Printf("%s: ", resp.Meta) scanner.Scan() req.URL.RawQuery = scanner.Text() return sendRequest(req) - case gemini.StatusClassSuccess: + case gmi.StatusClassSuccess: fmt.Print(string(resp.Body)) return nil - case gemini.StatusClassRedirect: + case gmi.StatusClassRedirect: fmt.Println("Redirecting to ", resp.Meta) - req, err := gemini.NewRequest(resp.Meta) + req, err := gmi.NewRequest(resp.Meta) if err != nil { return err } return sendRequest(req) - case gemini.StatusClassTemporaryFailure: + case gmi.StatusClassTemporaryFailure: return fmt.Errorf("Temporary failure: %s", resp.Meta) - case gemini.StatusClassPermanentFailure: + case gmi.StatusClassPermanentFailure: return fmt.Errorf("Permanent failure: %s", resp.Meta) - case gemini.StatusClassClientCertificateRequired: + case gmi.StatusClassClientCertificateRequired: fmt.Println("Generating client certificate for", req.Hostname()) return nil // TODO: Generate and store client certificate } @@ -99,7 +99,7 @@ Otherwise, this should be safe to trust. => ` func trustCertificate(cert *x509.Certificate) trust { - fmt.Printf(trustPrompt, gemini.Fingerprint(cert)) + fmt.Printf(trustPrompt, gmi.Fingerprint(cert)) scanner.Scan() switch scanner.Text() { case "t": @@ -118,7 +118,7 @@ func main() { } url := os.Args[1] - req, err := gemini.NewRequest(url) + req, err := gmi.NewRequest(url) if err != nil { fmt.Println(err) os.Exit(1) |