From 0b6d3d8633d9770e5692bb54dfe81d4b8ea72bb0 Mon Sep 17 00:00:00 2001 From: adnano Date: Mon, 21 Sep 2020 18:25:31 -0400 Subject: Rename example directory to examples --- example/client/.gitignore | 2 -- example/client/client.go | 73 ----------------------------------------------- example/server/.gitignore | 2 -- example/server/server.go | 41 -------------------------- 4 files changed, 118 deletions(-) delete mode 100644 example/client/.gitignore delete mode 100644 example/client/client.go delete mode 100644 example/server/.gitignore delete mode 100644 example/server/server.go (limited to 'example') diff --git a/example/client/.gitignore b/example/client/.gitignore deleted file mode 100644 index 37278c1..0000000 --- a/example/client/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -client.crt -client.key diff --git a/example/client/client.go b/example/client/client.go deleted file mode 100644 index 0dac61b..0000000 --- a/example/client/client.go +++ /dev/null @@ -1,73 +0,0 @@ -// +build example - -package main - -import ( - "bufio" - "crypto/tls" - "fmt" - "log" - "os" - - "git.sr.ht/~adnano/go-gemini" -) - -var client gemini.Client - -func init() { - // Configure a client side certificate. - // To generate a certificate, run: - // - // openssl genrsa -out client.key 2048 - // openssl ecparam -genkey -name secp384r1 -out client.key - // openssl req -new -x509 -sha256 -key client.key -out client.crt -days 3650 - // - config := tls.Config{} - cert, err := tls.LoadX509KeyPair("example/client/client.crt", "example/client/client.key") - if err != nil { - log.Fatal(err) - } - config.Certificates = append(config.Certificates, cert) - client.TLSConfig = config -} - -func makeRequest(url string) { - resp, err := client.Request(url) - if err != nil { - log.Fatal(err) - } - - fmt.Println("Status code:", resp.Status) - fmt.Println("Meta:", resp.Meta) - - switch resp.Status / 10 { - case gemini.StatusClassInput: - scanner := bufio.NewScanner(os.Stdin) - fmt.Printf("%s: ", resp.Meta) - scanner.Scan() - query := scanner.Text() - makeRequest(url + "?" + query) - return - case gemini.StatusClassSuccess: - fmt.Print("Body:\n", string(resp.Body)) - case gemini.StatusClassRedirect: - log.Print("Redirecting to ", resp.Meta) - makeRequest(resp.Meta) - return - case gemini.StatusClassTemporaryFailure: - log.Fatal("Temporary failure") - case gemini.StatusClassPermanentFailure: - log.Fatal("Permanent failure") - case gemini.StatusClassClientCertificateRequired: - log.Fatal("Client Certificate Required") - default: - log.Fatal("Protocol Error") - } -} - -func main() { - if len(os.Args) < 2 { - log.Fatalf("usage: %s gemini://...", os.Args[0]) - } - makeRequest(os.Args[1]) -} diff --git a/example/server/.gitignore b/example/server/.gitignore deleted file mode 100644 index 10cdeb2..0000000 --- a/example/server/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -server.crt -server.key diff --git a/example/server/server.go b/example/server/server.go deleted file mode 100644 index dbb23a0..0000000 --- a/example/server/server.go +++ /dev/null @@ -1,41 +0,0 @@ -// +build example - -package main - -import ( - "crypto/tls" - "git.sr.ht/~adnano/go-gemini" - "log" - "net/url" -) - -func main() { - // Load a TLS key pair. - // To generate a TLS key pair, run: - // - // openssl genrsa -out server.key 2048 - // openssl ecparam -genkey -name secp384r1 -out server.key - // openssl req -new -x509 -sha256 -key server.key -out server.crt -days 3650 - // - config := tls.Config{} - cert, err := tls.LoadX509KeyPair("example/server/server.crt", "example/server/server.key") - if err != nil { - log.Fatal(err) - } - config.Certificates = append(config.Certificates, cert) - - mux := &gemini.Mux{} - mux.HandleFunc("/", func(url *url.URL) *gemini.Response { - return &gemini.Response{ - Status: gemini.StatusSuccess, - Meta: "text/gemini", - Body: []byte("You requested " + url.String()), - } - }) - - server := gemini.Server{ - TLSConfig: config, - Handler: mux, - } - server.ListenAndServe() -} -- cgit v1.2.3