![]() |
1
3
好。。在我看来,这是正常的行为。我来解释原因。如果您只能访问rack::request,(我猜)您的中间件不解析响应(您不包括 actioncontroller::paramsparser ,因此您不能访问参数散列,只能访问stringio。这个stringio对应于一个流 like :
您试图对net::http类执行的操作是:(1)。将请求解析为参数散列;(2)。将参数散列与您自己的参数合并;(3)。重新创建请求。问题是net::http库不能做(1),因为它是客户端库,而不是服务器库。 因此,在添加新参数之前,无法逃避对请求的某些解析。 可能的解决方案:
|
![]() |
2
0
可能是一年太晚,但我有相同的问题验证PayPal IPN。我想将IPN请求转发回PayPal进行验证,但需要添加:CMD=& gt; 我没有修改body流或body,而是将其作为url路径的一部分追加,如下所示:
这似乎有点老生常谈,但我认为如果你不打算把它用在其他任何事情上,它是值得的。 |
![]() |
Jonah · 机架:为什么每个中间件在一个请求中调用两次? 10 年前 |
![]() |
AJcodez · 如何通过管道将机架文件直接上传到S3? 11 年前 |
![]() |
user782220 · 处理机架中的WebSocket连接 11 年前 |
|
dhakadamit · 新遗迹导致在每个请求中生成新的etag 11 年前 |
![]() |
ny95 · 葡萄API和HTTP摘要认证 11 年前 |
![]() |
Lakota Lefler · 带有RackFilter和资产的轨道 11 年前 |