目前项目中用到golang来开发http服务器,实现一组对象存储的REST API,里面有使用PUT方法上传文件的需求,文件内容是写在body里的,我希望可以在收到的tcp包可以组装成http header时就提前进行处理,如果header不满足要求,比如长度,或者签名,就不再收取body,目前使用起来感觉是底层把包收完,组装好才回调给上层的handler,不知道这种情况该怎么处理?另外我测试下来,当body很大(测试用200M)时,如果不调用读取body的函数,会很快走进handler里,但是不会有正确的返回值,也不了解其中的原因?
不行的。http协议本身不支持。等你处理时已经收完了。就算你,只读header,客户端也会把数据发完,就算你,读了头,强关socket,客端户以会认为数据没发完,返回错误。但是可以先head在put
#7
更多评论
楼主,你没看文档啊,http://docscn.studygolang.com/pkg/net/http/#Request, 类型Request 里就有解析好的Header
#2