Newer
Older
"github.com/dyson/certman"
var logger = log.New(os.Stdout, "", log.LstdFlags)
// ServeHTTP serves http requests on addr with handler
func ServeHTTP(addr string, handler http.Handler) error {
server := &http.Server{
Addr: addr,
Handler: handler,
}
return server.ListenAndServe()
}
// ServeHTTPS serves https requests on addr with handler
func ServeHTTPS(addr string, handler http.Handler, certFile, keyFile string) error {
certManager, err := certman.New(certFile, keyFile)
if err != nil {
return err
}
certManager.Logger(logger)
if err := certManager.Watch(); err != nil {
return err
}
server := &http.Server{
Addr: addr,
Handler: handler,
TLSConfig: &tls.Config{
GetCertificate: certManager.GetCertificate,
},
}
return server.ListenAndServeTLS("", "")