目前项目中用到golang来开发http服务器,实现一组对象存储的REST API,里面有使用PUT方法上传文件的需求,文件内容是写在body里的,我希望可以在收到的tcp包可以组装成http header时就提前进行处理,如果header不满足要求,比如长度,或者签名,就不再收取body,目前使用起来感觉是底层把包收完,组装好才回调给上层的handler,不知道这种情况该怎么处理?另外我测试下来,当body很大(测试用200M)时,如果不调用读取body的函数,会很快走进handler里,但是不会有正确的返回值,也不了解其中的原因?
我的意思是,能够提前解析header,比如说我要put上传一个1G的文件,等底层把tcp包都收全组装成完整的http报文回调给我的时候,已经过去n久了,而我希望的是在收到几k能组织起header的数据时,就直接回调给我,有没有这样的方法,我自己看文档和走读代码是没找到的,考虑golang水平很有限,难免有疏忽遗漏,所以才来求助啦
#3
更多评论
楼主,你没看文档啊,http://docscn.studygolang.com/pkg/net/http/#Request, 类型Request 里就有解析好的Header
#2