gpt4 book ai didi

grape-api - 在 Grape API 中检查请求正文

转载 作者:行者123 更新时间:2023-12-02 03:34:26 24 4
gpt4 key购买 nike

我的 Grape 端点中有这样一行来检查 POST 正文的内容,以提供测试端点:

return 'OK' if request.body.string == 'TEST'

在我笔记本电脑上的开发环境中,这工作得很好。然而,在我们的暂存和生产环境中,它会引发异常:

NoMethodError: undefined method `string' for #<Unicorn::TeeInput:0x0000000b0d0290>

据我所知,这与 Rack 有关,但我很惊讶地发现两个环境之间的中间件有不同的行为。我想知道是否有人遇到过这个问题并且可能有建议,因为我看到 Unicorn::TeeInput 似乎没有一种简单的方法来检查内容。我希望也许有一种“官方”方式可以直接访问 Grape 中的请求主体,但我还没有找到。

感谢您的任何想法。

最佳答案

尝试使用 env['rack.input'],它应该返回一个输入流(实际上是一个 Rack::Lint::InputWrapper 或类似的),您可以从中读取请求正文:

return 'OK' if env['rack.input'].gets.eql? 'TEST'

我已经对此进行了测试,它可以在本地使用 WEBrick 和 Unicorn。

关于grape-api - 在 Grape API 中检查请求正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24566423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com