目前项目中用到golang来开发http服务器,实现一组对象存储的REST API,里面有使用PUT方法上传文件的需求,文件内容是写在body里的,我希望可以在收到的tcp包可以组装成http header时就提前进行处理,如果header不满足要求,比如长度,或者签名,就不再收取body,目前使用起来感觉是底层把包收完,组装好才回调给上层的handler,不知道这种情况该怎么处理?另外我测试下来,当body很大(测试用200M)时,如果不调用读取body的函数,会很快走进handler里,但是不会有正确的返回值,也不了解其中的原因?
还是不理解楼主说的,我的golang水平也有限,但有问题提出来交流还是挺好的,我觉楼主的需求不应该用http来实现,http协议是先握手,后发送数据(包括header和body),你要在header之前,那就是握手阶段了?
#4
更多评论
楼主,你没看文档啊,http://docscn.studygolang.com/pkg/net/http/#Request, 类型Request 里就有解析好的Header
#2