32 lines
836 B
Go
32 lines
836 B
Go
package srvhttps
|
|
|
|
import "fmt"
|
|
import "log"
|
|
import "net/http"
|
|
import "hnakra/router/config"
|
|
|
|
type Server struct {
|
|
underlying *http.Server
|
|
Config config.Config
|
|
Handler http.Handler
|
|
}
|
|
|
|
func (server *Server) ListenAndServe () error {
|
|
server.underlying = &http.Server {
|
|
Addr: fmt.Sprint(":", server.Config.HTTPSPort()),
|
|
// ReadHeaderTimeout: timeoutReadHeader * time.Second,
|
|
// ReadTimeout: timeoutRead * time.Second,
|
|
// WriteTimeout: timeoutWrite * time.Second,
|
|
// IdleTimeout: timeoutIdle * time.Second,
|
|
TLSConfig: config.TLSConfigFor(server.Config),
|
|
Handler: server.Handler,
|
|
}
|
|
|
|
log.Println(".// https on", server.underlying.Addr)
|
|
return server.underlying.ListenAndServeTLS("", "")
|
|
}
|
|
|
|
func (server *Server) Close () error {
|
|
return server.underlying.Close()
|
|
}
|