32 lines
829 B
Go
32 lines
829 B
Go
|
package srvhttps
|
||
|
|
||
|
import "fmt"
|
||
|
import "log"
|
||
|
import "net/http"
|
||
|
import "hnakra/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()
|
||
|
}
|