47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package web
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"net/http"
|
|
"status/config"
|
|
"status/storage"
|
|
"status/web/handler"
|
|
"status/web/session"
|
|
)
|
|
|
|
//func httpToHTTPSHandler() *http.ServeMux {
|
|
// handleRedirect := func(w http.ResponseWriter, r *http.Request) {
|
|
// newURI := "https://" + r.Host + r.URL.String()
|
|
// http.Redirect(w, r, newURI, http.StatusFound)
|
|
// }
|
|
// mux := &http.ServeMux{}
|
|
// mux.HandleFunc("/", handleRedirect)
|
|
// return mux
|
|
//}
|
|
|
|
func Serve(data *storage.Storage, cfg *config.Config) error {
|
|
var err error
|
|
sess := session.New(cfg.SessionKey, data)
|
|
s, err := handler.New(cfg, sess, data)
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
//switch cfg.Env {
|
|
//case "PROD":
|
|
// go func() {
|
|
// fmt.Printf("Starting HTTP server on :443\n")
|
|
// err := http.ListenAndServeTLS(":443", cfg.CertFile, cfg.KeyFile, s)
|
|
// if err != nil {
|
|
// log.Fatalf("httpsSrv.ListendAndServeTLS() failed with %s", err)
|
|
// }
|
|
// }()
|
|
// fmt.Printf("Starting HTTP to HTTPS server on :80\n")
|
|
// err = http.ListenAndServe(":80", httpToHTTPSHandler())
|
|
// break
|
|
//default:
|
|
fmt.Printf("Starting HTTP server on port 8000\n")
|
|
err = http.ListenAndServe(":8000", s)
|
|
//}
|
|
return err
|
|
}
|