diff options
| author | Adnan Maolood <[email protected]> | 2021-02-19 18:45:19 -0500 |
|---|---|---|
| committer | Adnan Maolood <[email protected]> | 2021-02-19 18:45:19 -0500 |
| commit | 69674fcdd5af95c4eab6a4c79c6f224b34bb1f87 (patch) | |
| tree | 9ccb396ea5bb1e2d90b3cf5b535d12c307896a88 /examples | |
| parent | certificate: Implement GetCertificate callback (diff) | |
| download | go-gemini-69674fcdd5af95c4eab6a4c79c6f224b34bb1f87.tar.xz go-gemini-69674fcdd5af95c4eab6a4c79c6f224b34bb1f87.zip | |
examples/server: Use certificate.Store
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/server.go | 38 |
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) |