cmd/golangorg: remove autocert support

It was unused and incomplete.

It was potentially needed a while ago, back when the golang.org
website was running on a different Google Cloud Platform service.

It's not needed now, and can be re-added in the future
if it becomes needed again.

Change-Id: Id52945adf18b1e34f411f9a2eef6bd21889c6c1a
Reviewed-on: https://go-review.googlesource.com/c/website/+/197957
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
diff --git a/cmd/golangorg/autocert.go b/cmd/golangorg/autocert.go
deleted file mode 100644
index 9c2da41..0000000
--- a/cmd/golangorg/autocert.go
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2016 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build autocert
-
-// This file adds automatic TLS certificate support (using
-// golang.org/x/crypto/acme/autocert), conditional on the use of the
-// autocert build tag. It sets the serveAutoCertHook func variable
-// non-nil. It is used by main.go.
-//
-// TODO: make this the default? We're in the Go 1.8 freeze now, so
-// this is too invasive to be default, but we want it for
-// https://beta.golang.org/
-
-package main
-
-import (
-	"crypto/tls"
-	"flag"
-	"net"
-	"net/http"
-	"time"
-
-	"golang.org/x/crypto/acme/autocert"
-	"golang.org/x/net/http2"
-)
-
-var (
-	autoCertDirFlag  = flag.String("autocert_cache_dir", "/var/cache/autocert", "Directory to cache TLS certs")
-	autoCertHostFlag = flag.String("autocert_hostname", "", "optional hostname to require in autocert SNI requests")
-)
-
-func init() {
-	runHTTPS = runHTTPSAutocert
-	certInit = certInitAutocert
-	wrapHTTPMux = wrapHTTPMuxAutocert
-}
-
-var autocertManager *autocert.Manager
-
-func certInitAutocert() {
-	autocertManager = &autocert.Manager{
-		Cache:  autocert.DirCache(*autoCertDirFlag),
-		Prompt: autocert.AcceptTOS,
-	}
-	if *autoCertHostFlag != "" {
-		autocertManager.HostPolicy = autocert.HostWhitelist(*autoCertHostFlag)
-	}
-}
-
-func runHTTPSAutocert(h http.Handler) error {
-	srv := &http.Server{
-		Handler: h,
-		TLSConfig: &tls.Config{
-			GetCertificate: autocertManager.GetCertificate,
-		},
-		IdleTimeout: 60 * time.Second,
-	}
-	http2.ConfigureServer(srv, &http2.Server{})
-	ln, err := net.Listen("tcp", ":443")
-	if err != nil {
-		return err
-	}
-	return srv.Serve(tls.NewListener(tcpKeepAliveListener{ln.(*net.TCPListener)}, srv.TLSConfig))
-}
-
-func wrapHTTPMuxAutocert(h http.Handler) http.Handler {
-	return autocertManager.HTTPHandler(h)
-}
-
-// tcpKeepAliveListener sets TCP keep-alive timeouts on accepted
-// connections. It's used by ListenAndServe and ListenAndServeTLS so
-// dead TCP connections (e.g. closing laptop mid-download) eventually
-// go away.
-type tcpKeepAliveListener struct {
-	*net.TCPListener
-}
-
-func (ln tcpKeepAliveListener) Accept() (c net.Conn, err error) {
-	tc, err := ln.AcceptTCP()
-	if err != nil {
-		return
-	}
-	tc.SetKeepAlive(true)
-	tc.SetKeepAlivePeriod(3 * time.Minute)
-	return tc, nil
-}
diff --git a/cmd/golangorg/main.go b/cmd/golangorg/main.go
index 3a300ee..b4665e4 100644
--- a/cmd/golangorg/main.go
+++ b/cmd/golangorg/main.go
@@ -164,10 +164,6 @@
 	flag.Usage = usage
 	flag.Parse()
 
-	if certInit != nil {
-		certInit()
-	}
-
 	playEnabled = *showPlayground
 
 	// Check usage: server and no args.
@@ -311,30 +307,11 @@
 		go corpus.RunIndexer()
 	}
 
-	if runHTTPS != nil {
-		go func() {
-			if err := runHTTPS(handler); err != nil {
-				log.Fatalf("ListenAndServe TLS: %v", err)
-			}
-		}()
-	}
-
 	// Start http server.
 	if *verbose {
 		log.Println("starting HTTP server")
 	}
-	if wrapHTTPMux != nil {
-		handler = wrapHTTPMux(handler)
-	}
 	if err := http.ListenAndServe(*httpAddr, handler); err != nil {
 		log.Fatalf("ListenAndServe %s: %v", *httpAddr, err)
 	}
 }
-
-// Hooks that are set non-nil in autocert.go if the "autocert" build tag
-// is used.
-var (
-	certInit    func()
-	runHTTPS    func(http.Handler) error
-	wrapHTTPMux func(http.Handler) http.Handler
-)