acme/autocert: extract Manager example from comments
Ensures that it compiles and makes it more discoverable in godoc.
Change-Id: I50a3deb23110017d0eb16b1da0ac729a96ff2602
Reviewed-on: https://go-review.googlesource.com/40952
Run-TryBot: Alex Vaghin <ddos@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
diff --git a/acme/autocert/autocert.go b/acme/autocert/autocert.go
index f50c88e..7e388ff 100644
--- a/acme/autocert/autocert.go
+++ b/acme/autocert/autocert.go
@@ -77,18 +77,6 @@
// It obtains and refreshes certificates automatically,
// as well as providing them to a TLS server via tls.Config.
//
-// A simple usage example:
-//
-// m := autocert.Manager{
-// Prompt: autocert.AcceptTOS,
-// HostPolicy: autocert.HostWhitelist("example.org"),
-// }
-// s := &http.Server{
-// Addr: ":https",
-// TLSConfig: &tls.Config{GetCertificate: m.GetCertificate},
-// }
-// s.ListenAndServeTLS("", "")
-//
// To preserve issued certificates and improve overall performance,
// use a cache implementation of Cache. For instance, DirCache.
type Manager struct {
diff --git a/acme/autocert/listener_test.go b/acme/autocert/example_test.go
similarity index 64%
rename from acme/autocert/listener_test.go
rename to acme/autocert/example_test.go
index 9272ebb..c6267b8 100644
--- a/acme/autocert/listener_test.go
+++ b/acme/autocert/example_test.go
@@ -5,6 +5,7 @@
package autocert_test
import (
+ "crypto/tls"
"fmt"
"log"
"net/http"
@@ -19,3 +20,15 @@
})
log.Fatal(http.Serve(autocert.NewListener("example.com"), mux))
}
+
+func ExampleManager() {
+ m := autocert.Manager{
+ Prompt: autocert.AcceptTOS,
+ HostPolicy: autocert.HostWhitelist("example.org"),
+ }
+ s := &http.Server{
+ Addr: ":https",
+ TLSConfig: &tls.Config{GetCertificate: m.GetCertificate},
+ }
+ s.ListenAndServeTLS("", "")
+}