aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAdnan Maolood <[email protected]>2021-02-19 18:45:19 -0500
committerAdnan Maolood <[email protected]>2021-02-19 18:45:19 -0500
commit69674fcdd5af95c4eab6a4c79c6f224b34bb1f87 (patch)
tree9ccb396ea5bb1e2d90b3cf5b535d12c307896a88 /examples
parentcertificate: Implement GetCertificate callback (diff)
downloadgo-gemini-69674fcdd5af95c4eab6a4c79c6f224b34bb1f87.tar.xz
go-gemini-69674fcdd5af95c4eab6a4c79c6f224b34bb1f87.zip
examples/server: Use certificate.Store
Diffstat (limited to 'examples')
-rw-r--r--examples/server.go38
1 files changed, 22 insertions, 16 deletions
diff --git a/examples/server.go b/examples/server.go
index 992af4c..6e00f32 100644
--- a/examples/server.go
+++ b/examples/server.go
@@ -16,25 +16,31 @@ import (
)
func main() {
- var server gemini.Server
- server.ReadTimeout = 30 * time.Second
- server.WriteTimeout = 1 * time.Minute
- if err := server.Certificates.Load("/var/lib/gemini/certs"); err != nil {
- log.Fatal(err)
+ certificates := &certificate.Store{
+ CreateCertificate: func(hostname string) (tls.Certificate, error) {
+ return certificate.Create(certificate.CreateOptions{
+ Subject: pkix.Name{
+ CommonName: hostname,
+ },
+ DNSNames: []string{hostname},
+ Duration: 365 * 24 * time.Hour,
+ })
+ },
}
- server.GetCertificate = func(hostname string) (tls.Certificate, error) {
- return certificate.Create(certificate.CreateOptions{
- Subject: pkix.Name{
- CommonName: hostname,
- },
- DNSNames: []string{hostname},
- Duration: 365 * 24 * time.Hour,
- })
+ certificates.Register("localhost")
+ if err := certificates.Load("/var/lib/gemini/certs"); err != nil {
+ log.Fatal(err)
}
- var mux gemini.ServeMux
- mux.Handle("localhost", gemini.FileServer(os.DirFS("/var/www")))
- server.Handler = &mux
+ mux := &gemini.ServeMux{}
+ mux.Handle("/", gemini.FileServer(os.DirFS("/var/www")))
+
+ server := &gemini.Server{
+ Handler: mux,
+ ReadTimeout: 30 * time.Second,
+ WriteTimeout: 1 * time.Minute,
+ GetCertificate: certificates.GetCertificate,
+ }
if err := server.ListenAndServe(); err != nil {
log.Fatal(err)