写了个web服务器,ab测试一下,就报错Conn.Write wrote more than the declared Content-Length

我渲染模板的代码:

type View struct {
    TplDir string //模板目录
    Ctx    *Context
}
func (v *View) Render(tplFile string, data interface{}) {
    tpl, err := template.ParseFiles(v.getTplFile(tplFile))
    if err != nil {
        fmt.Println("Parse template file error:" + err.Error())
        return
    }
    err = tpl.Execute(v.Ctx.Response, data)
    if err != nil {
        v.Ctx.App.Log.Error(err)
    }
}
func (v *View) getTplFile(tplFile string) string {
    file := strings.Join([]string{v.TplDir, tplFile}, "")
    _, err := os.Stat(file)
    if err != nil {
        log.Fatal(err)
    }
    return file
}

我单个刷新页面就没问题,我用ab测试一下就那样报错。 在这里tpl.Execute(v.Ctx.Response, data) 叫报错Conn.Write wrote more than the declared Content-Length,不是每个请求都会报,有好几个请求会报。

我写的东西在这里:https://git.oschina.net/dyllen/lite_go

已邀请:

要回复问题请先登录注册