servetls/main.go

42 lines
843 B
Go
Raw Normal View History

2015-02-06 10:23:39 -08:00
package main
import (
"fmt"
"net/http"
"os"
2015-11-03 14:31:23 -08:00
"strconv"
2015-02-06 10:23:39 -08:00
)
const usage = "servetls <cert file> <key file>"
func main() {
if len(os.Args) != 3 {
fmt.Fprintf(os.Stderr, "%s\n", usage)
os.Exit(1)
}
cert, key := os.Args[1], os.Args[2]
http.HandleFunc("/", handler)
2015-11-03 14:31:23 -08:00
port := 8443
if os.Getenv("PORT") != "" {
p, err := strconv.Atoi(os.Getenv("PORT"))
if err != nil {
fmt.Fprintf(os.Stderr, "could not parse PORT variable: %s\n", os.Getenv("PORT"))
os.Exit(1)
}
port = p
}
2015-02-06 10:23:39 -08:00
addr := fmt.Sprintf(":%d", port)
fmt.Printf("serving on %s", addr)
err := http.ListenAndServeTLS(addr, cert, key, nil)
if err != nil {
fmt.Fprintf(os.Stderr, "%v\n", err)
os.Exit(1)
}
}
func handler(w http.ResponseWriter, req *http.Request) {
fmt.Fprintf(w, "if you see this without complaints things are likely set up correctly\n")
}