go__basicauth_demo/demo.go

37 lines
735 B
Go

package main
import (
"log"
"net/http"
"os"
"time"
"code.osinet.fr/fgm/web_auth_demo/server"
)
func main() {
app, err := server.New(
os.Getenv("AUTH_USERNAME"),
os.Getenv("AUTH_PASSWORD"),
os.Getenv("AUTH_CERT"),
os.Getenv("AUTH_CERT_KEY"),
)
if err != nil {
log.Fatal(err)
}
mux := http.NewServeMux()
mux.HandleFunc("/unprotected", app.UnprotectedHandler)
mux.HandleFunc("/protected", app.BasicAuth(app.ProtectedHandler))
srv := &http.Server{
Addr: ":4000",
Handler: mux,
ReadTimeout: 10 * time.Second,
WriteTimeout: 30 * time.Second,
IdleTimeout: time.Minute,
}
log.Printf("Starting TLS server on %s", srv.Addr)
err = srv.ListenAndServeTLS(app.Cert, app.Key)
log.Fatal(err)
}