func NewWebServer()

in pkg/webserver/web_server.go [35:53]


func NewWebServer(documentRoot, listenAddress, proxyUrl string) (*WebServer, error) {
	origin, err := url.Parse(proxyUrl)
	if err != nil {
		return nil, err
	}
	proxy := httputil.NewSingleHostReverseProxy(origin)
	fs := http.FileServer(http.Dir(documentRoot))
	mux := http.NewServeMux()
	mux.Handle("/", fs)
	mux.Handle("/ws/", proxy)
	server := &http.Server{
		Addr:              listenAddress,
		Handler:           mux,
		ReadHeaderTimeout: 10 * time.Second,
	}
	return &WebServer{
		server: server,
	}, nil
}