From 56b132f7dbd9668426d934a6feaa70f3252ed040 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 31 Mar 2016 12:40:36 +0200 Subject: Constent namig --- server.go | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'server.go') diff --git a/server.go b/server.go index a000cad..e396d76 100644 --- a/server.go +++ b/server.go @@ -12,26 +12,30 @@ type Server struct { DataFile string SNI Route - httpServer http.Server - tlsServer http.Server + wwwServer http.Server + tlsServer http.Server + rpcServer http.Server } -func NewServer(dataFile string) (*Server, error) { +func NewServer(dataFile, listen, listenTLS, listenRPC string) (*Server, error) { sni := make(SNI) server := &Server{ DataFile: dataFile, SNI: sni, Route: make(Route), - httpServer: http.Server{ - Addr: ":http", + wwwServer: http.Server{ + Addr: listen, }, tlsServer: http.Server{ - Addr: ":https", + Addr: listenTLS, TLSConfig: &tls.Config{ GetCertificate: sni.GetCertificate, }, }, + rpcServer: http.Server{ + Addr: listenRPC, + }, } if dataFile != "" { server.Load(dataFile) @@ -66,14 +70,14 @@ func (s *Server) Update() error { httpMux.Handle(v.Host, httputil.NewSingleHostReverseProxy(up)) } } - s.httpServer.Handler = httpMux + s.wwwServer.Handler = httpMux return nil } func (s *Server) Start() error { errc := make(chan error) - go func() { errc <- s.httpServer.ListenAndServe() }() + go func() { errc <- s.wwwServer.ListenAndServe() }() go func() { errc <- s.tlsServer.ListenAndServeTLS("", "") }() - go func() { errc <- http.ListenAndServe(":http-alt", nil) }() + go func() { errc <- s.rpcServer.ListenAndServe() }() return <-errc } -- cgit v1.2.3