我正在使用Sinatra应用程序来接收服务器请求,我想在一个单独的类中解析它们,我称之为“请求”,但是当我传递请求对象时,正文被丢弃。尝试读取主类中的request.body但是尝试在新类中读取它会生成JSONparser八位字节错误。
在主Sinatra文件中,此测试调用会生成正确的响应:
puts JSON.parse request.body.read
之后,我将请求传递给请求类,并带有以下代码。
req=Request.new(request)
但是在Request类初始化def中,上面相同的“puts”代码会生成错误:
JSON::ParserError - A JSON text must at least contain two octets!:
这两个文件都包含JSON要求。
解决方法相当简单,但如果我能弄清楚为什么它不像我期望的那样工作,我宁愿选择更优雅的解决方案。任何想法都表示赞赏。
答案 0 :(得分:0)
来自我的测试 Request.new构造函数似乎没有从Request对象
克隆request.clone正常工作
如果你需要任何极端的话,你需要进行彻底的物体检查