Go代理不支持事件源

时间:2017-07-17 19:15:56

标签: http go webpack reverse-proxy eventsource

我正在Go中开发一个Web服务,它将其UI委托给一个与webpack打包在一起的vue.js网站。

My Go服务负责托管UI和UI使用的REST API。

在开发模式下,我希望受益于vue.jswebpack工具(例如基于inotify的自动重载),所以我在Go程序中添加了一个开关,用于执行此操作: / p>

var handler http.Handler

if isDevelopment {
    // url below points to the webpack standalone
    // development server, at http://localhost:8080.
    proxy := httputil.NewSingleHostReverseProxy(url)
    proxy.FlushInterval = time.Millisecond * 100
    handler = proxy
} else {
    handler = http.FileServer(http.Dir("www"))
}

基本上,在开发模式下,我可以启动webpack的开发服务器(带npm run dev),我的Go程序会将所有UI请求委托给它。

这会产生奇迹,但几秒钟后,Chrome会抱怨:

  

获取http://localhost:9999/__webpack_hmr net :: ERR_INCOMPLETE_CHUNKED_ENCODING

自动刷新停止工作一段时间并最终回来,但它比我直接连接到webpack的独立服务器的速度慢。

我认为可以在Go httputil.ReverseProxy中追踪问题,我相信它没有任何特定的代码来正确处理事件源。

这是一个知道问题吗?有什么办法可以让我的Go反向代理事件源识别/兼容吗?

0 个答案:

没有答案