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
}