aboutsummaryrefslogtreecommitdiff
path: root/examples/server/server.go
diff options
context:
space:
mode:
authoradnano <[email protected]>2020-09-25 10:09:41 -0400
committeradnano <[email protected]>2020-09-25 10:09:41 -0400
commiteb8c9e0c0381d38b53792af6ee8c50c16450b913 (patch)
tree3c7240311f237d1804b3e2f730a83fc059d3ce45 /examples/server/server.go
parentUpdate README.md (diff)
downloadgo-gemini-eb8c9e0c0381d38b53792af6ee8c50c16450b913.tar.xz
go-gemini-eb8c9e0c0381d38b53792af6ee8c50c16450b913.zip
Update README.md
Diffstat (limited to 'examples/server/server.go')
-rw-r--r--examples/server/server.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/examples/server/server.go b/examples/server/server.go
index 985f33f..466d024 100644
--- a/examples/server/server.go
+++ b/examples/server/server.go
@@ -4,6 +4,7 @@ package main
import (
"crypto/tls"
+ "crypto/x509"
"log"
"git.sr.ht/~adnano/go-gemini"
@@ -24,8 +25,14 @@ func main() {
}
config.Certificates = append(config.Certificates, cert)
config.ClientAuth = tls.RequestClientCert
+ config.VerifyPeerCertificate = func(rawCerts [][]byte, chains [][]*x509.Certificate) error {
+ return nil
+ }
mux := &gemini.ServeMux{}
+ mux.HandleFunc("/cert", func(rw *gemini.ResponseWriter, req *gemini.Request) {
+ rw.WriteHeader(gemini.StatusClientCertificateRequired, "Certificate required")
+ })
mux.HandleFunc("/", func(rw *gemini.ResponseWriter, req *gemini.Request) {
log.Printf("Request from %s for %s with certificates %v", req.RemoteAddr.String(), req.URL.String(), req.TLS.PeerCertificates)
rw.WriteHeader(gemini.StatusSuccess, "text/gemini")